最近在搭建hbase分布式环境中遇到的问题,出现这个问题我也去网上参考别人是怎么解决的,但是没有解决我的问题,我不断的去看日志为什么会出现这个,后来我发现日志不断提示异常,我就想是不是和这个有关系,尝试了一下,解决了我的问题,话不多说,先上日志:
2018-03-26 21:32:36,148 FATAL [master:hadoop0:60000] master.HMaster: Unhandled exception. Starting shutdown.
java.net.ConnectException: Call From hadoop0.com/192.168.10.250 to hadoop0.com:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:783)
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:730)
at org.apache.hadoop.ipc.Client.call(Client.java:1415)
at org.apache.hadoop.ipc.Client.call(Client.java:1364)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
at com.sun.proxy.$Proxy14.setSafeMode(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.setSafeMode(ClientNamenodeProtocolTranslatorPB.java:639)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
at com.sun.proxy.$Proxy15.setSafeMode(Unknown Source)
at org.apache.hadoop.hdfs.DFSClient.setSafeMode(DFSClient.java:2364)
at org.apache.hadoop.hdfs.DistributedFileSystem.setSafeMode(DistributedFileSystem.java:1007)
at org.apache.hadoop.hdfs.DistributedFileSystem.setSafeMode(DistributedFileSystem.java:991)
at org.apache.hadoop.hbase.util.FSUtils.isInSafeMode(FSUtils.java:446)
at org.apache.hadoop.hbase.util.FSUtils.waitOnSafeMode(FSUtils.java:894)
以上就是我在配置过程中出现的问题,我配置的是Hadoop HA。前提:hbase里的lib包必须和自己的hadoop的版本保持一致
尝试过的方案:
1、不断重启hadoop集群、hbase集群;
2、删除zk、hadoop、hbase里的日志零时文件等;
3、复制hadoop里的core-site.xml和hdfs-site.xml到hbase里conf中;
4、复制zk里的zoo.cfg到hbase里conf中;
以上都要重新启动,尝试过无效,
后来看日志报的异常联想到自己是ha的配置,故想到hbase-site.xml中的
hbase.rootdir
hdfs://hadoop0.com:8020/hbase
要和core-site.xml中的
fs.defaultFS
hdfs://ns1
需要保持一致,故做了如下的修改
hbase.rootdir
hdfs://ns1:8020/hbase
启动hbase之后,发现启动正常了。
希望大家看了之后指出不足指出,或者有疑问的地方,大家可以一起讨论,不要喷就好了!