昨天hbase安装好之后一直连接不到hdfs上,十分费解。
错误如下:
2021-04-15 07:04:32,844 WARN [master:16000.activeMasterManager] ipc.Client: Failed to connect to server: master/192.168.110.129:9000: try once and fail.
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)
at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:685)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:788)
at org.apache.hadoop.ipc.Client$Connection.access$3500(Client.java:410)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1550)
at org.apache.hadoop.ipc.Client.call(Client.java:1381)
at org.apache.hadoop.ipc.Client.call(Client.java:1345)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:227)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116)
at com.sun.proxy.$Proxy16.setSafeMode(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setSafeMode(ClientNamenodeProtocolTranslatorPB.java:691)
有人说把hbase的hbase-site.xml的rootdir改成root.dir就可以了,其实这是自欺欺人
因为改成了root.dir就识别不到你这个配置了,你里面的hdfs地址就没用了,hbase启动的时候默认是本地启动,所以有可以启动成功的假象。
真正原因在于你的HADOOP版本和你的HBase版本不兼容!
官网查询:http://hbase.apache.org/book.html#hadoop
我的HADOOP版本2.7.4下载了HBase1.6,不支持 这个好像不是关键问题,但是也得保证版本对应。
注意hdfs里面的默认服务端口,我这里写的是8020,所以hbase里面也要写8020!!!



