这种情况下就去hbase的logs下查看日志文件,我这里的文件是hbase-hadoop-master-centos01.log
发现报错为
zookeeper.RecoverableZooKeeper: Unable to create ZooKeeper Connection
java.net.UnknownHostException: centos02.centos03: 未知的名称或服务
是hbase-site.xml中关于ZooKeeper的配置写错了,逗号写成了.号,所以配置文件一定要细心。
重新执行之后仍然报错
java.net.ConnectException: Call From centos01/192.168.157.133 to centos01:9000 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
这是因为在hdfs中core-site.xml和hbase的hbase-site.xml配置的端口需要一致,而我配置得不一样。
接下来检查修改
检查hdfs中配置:core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
与Hbase中配置:hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop102:8020/hbase</value>
</property>
这两个配置的端口号8020必须一致,不然会报连不上的错误;
重新执行,报错
master.HMaster: Failed to become active master
org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/":hadoop:supergroup:drwxr-xr-x
是因为我切换到了root用户,而我的hadoop是属于hadoop用户的,切换到hadoop用户就解决了。或者也可以给root用户授权。
网友评论