单机模式
(hbase自带zookeeper)
遇到了这个问题,弄了很久才解决:
- 一开始是在idea中执行hbase相关代码,出现无法连接的问题
will not attempt to authenticate using SASL(unknown error)
- 我发现是zookeeper问题,所以尝试在命令行启动
- 启动关键代码
/hbase $ ./bin/hbase zkcli
- 循环报错
- 启动关键代码
2020-05-18 09:38:08,859 INFO [main-SendThread(localhost:2181)] zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2020-05-18 09:38:08,859 WARN [main-SendThread(localhost:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: 拒绝连接
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
搜索资料大部分都是
- zookeeper的配置问题
- 我按照网络配置(注意自己的模式,我的是单机模式,所以只在本机上运行,配置应该没什么问题)
- 关键要设置dataDir路径(按照自己目录配置)
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper<value>
</property>
- 防火墙问题
- 我的防火墙一直就没开
后面按照启动hadoop->启动hbase->执行zkcli的顺序终于启动成功,然后在idea中也能连接成功
遇到的坑
- 没有按照要求顺序启动,hbase是架构在hadoop之上的,必须要先启动hadoop
- 关于quorum配置,我是把配置注释以后仍然可以运行,而且也没有修改hosts文件,所以单机版的zookeeper的报错应该和这个没有什么问题,使用默认配置即可