You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by "leiwangouc@gmail.com" <le...@gmail.com> on 2014/08/15 12:01:21 UTC

Connection refused when connecting to hbase from mapper task

In the following code,  I just want to connect to hbase and do a get operation in a mapper.
Any insight on this?

Thanks,
Lei

public class TagMapper extends Mapper<LongWritable, Text, Text, Text> { 

private HTable hTable; 

@Override 
protected void setup(Context context){ 
try { 
    hTable = new HTable(context.getConfiguration(), "userdigest"); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
} 

@Override 
public void map(LongWritable key, Text value, Context context) 
throws IOException, InterruptedException { 

String agid = value.toString(); 
Get get = new Get(Bytes.toBytes(agid)); 
Result rs = hTable.get(get); 
for(KeyValue kv:rs.raw()){ 

context.write(new Text(new String(kv.getRow())+":" + new String(kv.getQualifier())), new Text(new String(kv.getValue()))); 

} 
} 
}

The task error log: 
java.net.ConnectException: Connection refused
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599)
	at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
2014-08-15 17:43:11,102 WARN org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
2014-08-15 17:43:11,103 INFO org.apache.zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration)
2014-08-15 17:43:11,103 ERROR org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries
2014-08-15 17:43:11,103 WARN org.apache.hadoop.hbase.zookeeper.ZKUtil: hconnection Unable to set watcher on znode (/hbase/hbaseid)
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
	at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
	at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
	at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
	at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:172)
	at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:450)
	at org.apache.hadoop.hbase.zookeeper.ClusterId.readClusterIdZNode(ClusterId.java:61)
	at org.apache.hadoop.hbase.zookeeper.ClusterId.getId(ClusterId.java:50)
	at org.apache.hadoop.hbase.zookeeper.ClusterId.hasId(ClusterId.java:44)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:615)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:871)
	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:846)
	at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:271)
	at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:211)
	at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:170)
	at com.agrantsem.data.mapreduce.userdigest.TagMapper.setup(TagMapper.java:23)
	at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:138)
	at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:672)
	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:330)
	at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:396)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
	at org.apache.hadoop.mapred.Child.main(Child.java:262)
2014-08-15 17:43:11,103 WARN org.apache.zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect


leiwangouc@gmail.com

Re: Re: Connection refused when connecting to hbase from mapper task

Posted by "leiwangouc@gmail.com" <le...@gmail.com>.
Thanks,  this is the problem. 


leiwangouc@gmail.com
 
From: Ted Yu
Date: 2014-08-15 18:27
To: user@hbase.apache.org
CC: user
Subject: Re: Connection refused when connecting to hbase from mapper task
Is hbase-site.xml in the classpath of map task ?
 
Cheers
 
On Aug 15, 2014, at 3:01 AM, "leiwangouc@gmail.com" <le...@gmail.com> wrote:
 
> 
> In the following code,  I just want to connect to hbase and do a get operation in a mapper.
> Any insight on this?
> 
> Thanks,
> Lei
> 
> public class TagMapper extends Mapper<LongWritable, Text, Text, Text> { 
> 
> private HTable hTable; 
> 
> @Override 
> protected void setup(Context context){ 
> try { 
>    hTable = new HTable(context.getConfiguration(), "userdigest"); 
> } catch (IOException e) { 
>    e.printStackTrace(); 
> } 
> } 
> 
> @Override 
> public void map(LongWritable key, Text value, Context context) 
> throws IOException, InterruptedException { 
> 
> String agid = value.toString(); 
> Get get = new Get(Bytes.toBytes(agid)); 
> Result rs = hTable.get(get); 
> for(KeyValue kv:rs.raw()){ 
> 
> context.write(new Text(new String(kv.getRow())+":" + new String(kv.getQualifier())), new Text(new String(kv.getValue()))); 
> 
> } 
> } 
> }
> 
> The task error log: 
> java.net.ConnectException: Connection refused
>    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
>    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599)
>    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
>    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
> 2014-08-15 17:43:11,102 WARN org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
> 2014-08-15 17:43:11,103 INFO org.apache.zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration)
> 2014-08-15 17:43:11,103 ERROR org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries
> 2014-08-15 17:43:11,103 WARN org.apache.hadoop.hbase.zookeeper.ZKUtil: hconnection Unable to set watcher on znode (/hbase/hbaseid)
> org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
>    at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
>    at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
>    at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
>    at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:172)
>    at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:450)
>    at org.apache.hadoop.hbase.zookeeper.ClusterId.readClusterIdZNode(ClusterId.java:61)
>    at org.apache.hadoop.hbase.zookeeper.ClusterId.getId(ClusterId.java:50)
>    at org.apache.hadoop.hbase.zookeeper.ClusterId.hasId(ClusterId.java:44)
>    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:615)
>    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:871)
>    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:846)
>    at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:271)
>    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:211)
>    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:170)
>    at com.agrantsem.data.mapreduce.userdigest.TagMapper.setup(TagMapper.java:23)
>    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:138)
>    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:672)
>    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:330)
>    at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at javax.security.auth.Subject.doAs(Subject.java:396)
>    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
>    at org.apache.hadoop.mapred.Child.main(Child.java:262)
> 2014-08-15 17:43:11,103 WARN org.apache.zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
> 
> 
> leiwangouc@gmail.com

Re: Connection refused when connecting to hbase from mapper task

Posted by Ted Yu <yu...@gmail.com>.
Is hbase-site.xml in the classpath of map task ?

Cheers

On Aug 15, 2014, at 3:01 AM, "leiwangouc@gmail.com" <le...@gmail.com> wrote:

> 
> In the following code,  I just want to connect to hbase and do a get operation in a mapper.
> Any insight on this?
> 
> Thanks,
> Lei
> 
> public class TagMapper extends Mapper<LongWritable, Text, Text, Text> { 
> 
> private HTable hTable; 
> 
> @Override 
> protected void setup(Context context){ 
> try { 
>    hTable = new HTable(context.getConfiguration(), "userdigest"); 
> } catch (IOException e) { 
>    e.printStackTrace(); 
> } 
> } 
> 
> @Override 
> public void map(LongWritable key, Text value, Context context) 
> throws IOException, InterruptedException { 
> 
> String agid = value.toString(); 
> Get get = new Get(Bytes.toBytes(agid)); 
> Result rs = hTable.get(get); 
> for(KeyValue kv:rs.raw()){ 
> 
> context.write(new Text(new String(kv.getRow())+":" + new String(kv.getQualifier())), new Text(new String(kv.getValue()))); 
> 
> } 
> } 
> }
> 
> The task error log: 
> java.net.ConnectException: Connection refused
>    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
>    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599)
>    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
>    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
> 2014-08-15 17:43:11,102 WARN org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
> 2014-08-15 17:43:11,103 INFO org.apache.zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration)
> 2014-08-15 17:43:11,103 ERROR org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries
> 2014-08-15 17:43:11,103 WARN org.apache.hadoop.hbase.zookeeper.ZKUtil: hconnection Unable to set watcher on znode (/hbase/hbaseid)
> org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
>    at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
>    at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
>    at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
>    at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:172)
>    at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:450)
>    at org.apache.hadoop.hbase.zookeeper.ClusterId.readClusterIdZNode(ClusterId.java:61)
>    at org.apache.hadoop.hbase.zookeeper.ClusterId.getId(ClusterId.java:50)
>    at org.apache.hadoop.hbase.zookeeper.ClusterId.hasId(ClusterId.java:44)
>    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:615)
>    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:871)
>    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:846)
>    at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:271)
>    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:211)
>    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:170)
>    at com.agrantsem.data.mapreduce.userdigest.TagMapper.setup(TagMapper.java:23)
>    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:138)
>    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:672)
>    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:330)
>    at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at javax.security.auth.Subject.doAs(Subject.java:396)
>    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
>    at org.apache.hadoop.mapred.Child.main(Child.java:262)
> 2014-08-15 17:43:11,103 WARN org.apache.zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
> 
> 
> leiwangouc@gmail.com