关于HBase报错总结
这两天搭建了一个hadoop分布式存储的集群,安装了hadoop,hbase,zookeeper,hive。期间也遇到不少坑,趁着刚做完,都还记得,来记录以下安装hbase之后,启动hbase时报的各种错误。
1. can't get master address from zookeeper znode = null
这个错误的表现是你无法启动hmaster或者你启动hmaster之后当你执行hbase脚本进行存储的时候,系统日志里面报的错误。
解决方案:
1)查看hbase的hbase-site.xml配置文件,查看hbase.rootdir配置项;查看hadoop配置文件core-site.xml中的fs.defaultFS配置项。
要求这两个配置项的具体地址与端口保持一致。(hbase配置项多一个/hbase)。
hbase配置项
<property>
<name>hbase.rootdir</name>
<value>hdfs.//node1:9000/hbase</value>
<property>
hadoop配置项
<property>
<name>fs.defaultFS</name>
<value>hdfs.//node1:9000</value>
<property>
2) 如果不一致的话,需要修改一致。然后将你hadoop的data,pids,temp,name目录清空,然后重新执行hdfs namenode -format 命令,格式化hadoop。
依次启动你的hadoop,每个节点的zookeeper,hbase,错误解决。
2. ServerNotRunningYetException
当你启动成功hbase之后,HMaster与 Region Server都成功启动。进入hbase shell后,在执行shell命令存储数据时,系统报ServerNotRunningYetException,此时是因为hdfs启动处于安全模式,禁止一切的写。所以要到$HADOOP_HOME/bin目录下执行
./hadoop dfsadmin -safemode leave
关闭安全模式,然后重新启动hbase,解决错误。