java 操作hbase,持续卡住的问题,javahbase
自己虚拟机上搭建了环境,很简单的几句连接代码,结果一直运行着,不停止,大概几十分钟后终于报错了(第一次如此期待报错好吧):org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 1 action: RetriesExhaustedException: 1 time, at org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.makeException(AsyncProcess.java:225) at org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.access$1700(AsyncProcess.java:205) at org.apache.hadoop.hbase.client.AsyncProcess.waitForAllPreviousOpsAndReset(AsyncProcess.java:1586) at org.apache.hadoop.hbase.client.HTable.backgroundFlushCommits(HTable.java:1102) at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1485) at org.apache.hadoop.hbase.client.HTable.put(HTable.java:1034) at delete.piDelete.add1(piDelete.java:86) at delete.piDelete.main(piDelete.java:75)代码在最下面.. 连接是获取到了,然而在进行 table.put(put); 这句时候,卡住..在hbase shell上用命令运行一切正常..想起之前zookeeper和hadoop的搭建操作,大概就是本地运行客户端Java程序的hosts配置问题,在最后一行后增加了:
192.168.139.129 min1
192.168.139.130 min3
192.168.139.135 min2192.168.139.136 min0
我是四台虚拟机,装了四个zookeeper....然后就操作成功了
static {
config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "192.168.139.129,192.168.139.130,192.168.139.135,192.168.139.136");
config.set("hbase.zookeeper.property.clisentPort", "2181");
config.set("hbase.master", "192.168.139.129:60000");
try {
connection = ConnectionFactory.createConnection(config);
table = connection.getTable(TableName.valueOf("user"));
System.out.println("获取连接"+connection+"....table: "+table);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Put put = new Put(Bytes.toBytes("1234"));//获取put,用于插入
put.add(Bytes.toBytes("info1"), Bytes.toBytes("age"),Bytes.toBytes("20"));//封装信息
try {
System.out.println(table+" ...add1方法");
table.put(put);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}