zookeeper不断重连问题

大数据中的大叔 2017-06-14 05:42:07
近段日子自学hbase,配置了hbase的伪分布模式,使用eclipse对hbase中的表进行操作。在代码和jar包没有错的情况下,却老是报错,下面是eclipse代码:



import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;

public class AddInfo {
public static void main(String [] args) throws IOException{
Configuration con =HBaseConfiguration.create();
con.set("hbase.rootdir", "hdfs://localhost:9000/hbase");
con.set("hbase.zookeeper.quorum", "192.168.0.102");
con.set("hbase.zookeeper.property.clientPort", "2181");
Connection connection =ConnectionFactory.createConnection(con);

HTable table =(HTable) connection.getTable(TableName.valueOf(Bytes.toBytes("Hbase_test1")));
//添加rowkey
byte[] row1 =Bytes.toBytes("row1");
// Put p1 =new Put(row1);
// p1.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("Name"), Bytes.toBytes("Daming"));
// byte[] row2 =Bytes.toBytes("row2");
// Put p2 =new Put(row2);
// p2.addColumn(Bytes.toBytes("professional"), Bytes.toBytes("Job"), Bytes.toBytes("it"));
// table.put(p1);
// table.put(p2);
Get get =new Get(row1);
Result res =table.get(get);
System.out.println(table.toString()+":::::::"+res.toString());
}
}


报出的异常信息:
Exception in thread "main" org.apache.hadoop.hbase.TableNotFoundException: Hbase_test1
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1283)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1181)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1165)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1122)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getRegionLocation(ConnectionManager.java:957)
at org.apache.hadoop.hbase.client.HRegionLocator.getRegionLocation(HRegionLocator.java:83)
at org.apache.hadoop.hbase.client.RegionServerCallable.prepare(RegionServerCallable.java:75)
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:134)
at org.apache.hadoop.hbase.client.HTable.get(HTable.java:865)
at org.apache.hadoop.hbase.client.HTable.get(HTable.java:831)
at AddInfo.main(AddInfo.java:35)

主要的错误就是table获取不到,查看hbase中的日志

发现zookeeper一直在不断的断开重连,而且当eclipse运行的时候,就会断开重连。

下面是zookeeper部分日志(问题已给出):

2017-06-14 17:38:56,314 INFO [SyncThread:0] server.ZooKeeperServer: Established session 0x15ca5f84cb00005 with negotiated timeout 90000 for client /192.168.0.102:41114
2017-06-14 17:38:56,366 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00004 type:create cxid:0x7 zxid:0xcd txntype:-1 reqpath:n/a Error Path:/hbase/flush-table-proc/acquired Error:KeeperErrorCode = NodeExists for /hbase/flush-table-proc/acquired
2017-06-14 17:38:56,381 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00004 type:create cxid:0xa zxid:0xce txntype:-1 reqpath:n/a Error Path:/hbase/online-snapshot/acquired Error:KeeperErrorCode = NodeExists for /hbase/online-snapshot/acquired
2017-06-14 17:39:01,483 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00004 type:setData cxid:0x25 zxid:0xd4 txntype:-1 reqpath:n/a Error Path:/hbase/meta-region-server Error:KeeperErrorCode = NoNode for /hbase/meta-region-server
2017-06-14 17:39:01,973 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxnFactory: Accepted socket connection from /192.168.0.102:41136
2017-06-14 17:39:01,978 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.ZooKeeperServer: Client attempting to establish new session at /192.168.0.102:41136
2017-06-14 17:39:01,983 INFO [SyncThread:0] server.ZooKeeperServer: Established session 0x15ca5f84cb00006 with negotiated timeout 90000 for client /192.168.0.102:41136
2017-06-14 17:39:02,427 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00000 type:create cxid:0x46b zxid:0xe1 txntype:-1 reqpath:n/a Error Path:/hbase/namespace/default Error:KeeperErrorCode = NodeExists for /hbase/namespace/default
2017-06-14 17:39:02,460 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00000 type:create cxid:0x46e zxid:0xe3 txntype:-1 reqpath:n/a Error Path:/hbase/namespace/hbase Error:KeeperErrorCode = NodeExists for /hbase/namespace/hbase
2017-06-14 17:39:02,795 WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxn: caught end of stream exception
EndOfStreamException: Unable to read additional data from client sessionid 0x15ca5f84cb00006, likely client has closed socket
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228)
at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)
at java.lang.Thread.run(Thread.java:745)
2017-06-14 17:39:02,799 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxn: Closed socket connection for client /192.168.0.102:41136 which had sessionid 0x15ca5f84cb00006

百度了好久都解决不了这个问题,特来向论坛求教,如能解决,万分感谢!

...全文
2683 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

932

社区成员

发帖
与我相关
我的任务
社区描述
云计算 云存储相关讨论
社区管理员
  • 云存储
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧