新的HBase安装非常慢

时间:2012-10-19 19:37:10

标签: hbase apache-zookeeper

我刚刚在iMac上安装了HBase 0.94.2,运行Sun Java 7和Mac OS 10.8.2。

我确实有一个开发Hadoop实例,但是现在我在独立模式下运行HBase。

不幸的是,许多基本操作执行时间超过30秒:

magoo:bin mattpainter$ ./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.2, r1395367, Sun Oct  7 19:11:01 UTC 2012

hbase(main):002:0> list 'table'
TABLE                                                                                                                                                                       
2012-10-20 08:26:38.903 java[41217:1703] Unable to load realm info from SCDynamicStore
0 row(s) in 33.6460 seconds

hbase(main):003:0> 

查看日志,我们看到了:

12/10/20 08:24:58 INFO zookeeper.ClientCnxn: Client session timed out, have not heard from server in 26667ms for sessionid 0x13a7a7744270005, closing socket connection and attempting reconnect
12/10/20 08:24:58 WARN zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/master
12/10/20 08:24:58 INFO util.RetryCounter: Sleeping 2000ms before retry #1...
12/10/20 08:24:59 INFO zookeeper.ClientCnxn: Opening socket connection to server /fe80:0:0:0:0:0:0:1%1:2181
12/10/20 08:25:04 INFO client.ZooKeeperSaslClient: Client will not SASL-authenticate because the default JAAS configuration section 'Client' could not be found. If you are not using SASL, you may ignore this. On the other hand, if you expected SASL to work, please fix your JAAS configuration.
12/10/20 08:25:04 INFO zookeeper.ClientCnxn: Socket connection established to fe80:0:0:0:0:0:0:1%1/fe80:0:0:0:0:0:0:1%1:2181, initiating session
12/10/20 08:25:04 INFO zookeeper.ClientCnxn: Session establishment complete on server fe80:0:0:0:0:0:0:1%1/fe80:0:0:0:0:0:0:1%1:2181, sessionid = 0x13a7a7744270005, negotiated timeout = 40000

如果配置为零的开箱即用安装(除了在JAVA_HOME中设置hbase-env.sh之外)会出现此行为,那会有什么错误?

非常感谢, 马特

2 个答案:

答案 0 :(得分:1)

是的,ZOOKEEPER-1477确实是罪魁祸首。

我从JDK1.7.0_04升级到JDK1.7.0_09,相应地修改了我的base-env.sh,所有现在都可以正常工作。

答案 1 :(得分:0)

似乎您的JVM默认为IPv6流量。尝试将-Djava.net.preferIPv4Stack = true添加到您的HBASE_OPTS envvar(仅在hbase-env.sh中的JAVA_HOME下面几行),然后重新启动HBase。

还有其他强制IPv4的方法(编辑sysctl.conf)