我正在尝试使用以下命令启动 hbase:
hadoop@user-HP-dx2480-MT-NA125PA:/usr/local/hadoop/hbase$ bin/start-hbase.sh
并且启动失败并出现以下错误:
错误是 localhost:启动 zookeeper,记录到 /usr/local/hadoop/hbase/bin/../logs/hbase-hadoop-zookeeper-user-HP-dx2480-MT-NA125PA.out localhost:java.net.BindException:地址已在使用中 localhost:在 sun.nio.ch.Net.bind(Native Method) localhost:在 sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:137) localhost:在 sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:77) localhost:在 sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:70) localhost:在 org.apache.zookeeper.server.NIOServerCnxn$Factory。(NIOServerCnxn.java:122) localhost:在org.apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.java:106) 本地主机:位于 org.apache.hadoop.hbase.zookeeper.HQuorumPeer.runZKServer(HQuorumPeer.java:85) 本地主机:位于 org.apache.hadoop.hbase.zookeeper.HQuorumPeer.main(HQuorumPeer.java:70)
这个问题的解决方案是什么?有人能告诉我吗?什么是 AddressBindingException?
答案1
您的 zookeeper 进程似乎已在运行。或者(可能性很小),其他程序已在监听端口 2181 或 2888。您是否安装了单独的 zookeeper 软件包并启动了它?
如果是这样,你需要告诉 HBase 不要自动启动 zookeeper。编辑 conf/hbase-env.sh 文件并添加以下行:
export HBASE_MANAGES_ZK=false
另一方面,如果您希望 HBase 自动启动 zookeeper,则将该设置更改为“true”,确保任何当前 zookeeper 进程都已停止,然后重试。
仅供参考,如果您遇到更多问题,请订阅 HBase 用户邮件列表[电子邮件保护]我们可以为您提供进一步的帮助。