最近自学大数据技术栈中,将自己遇到的问题记录一下,希望能帮到其他学习的人,另外希望自己复习的时候可以少踩些坑。
首先,需要牢记的一点是很多启动报错都是表面现象,是更深层的问题所导致的,所以一定要学会看日志,然后再根据日志报错信息去搜索解决问题。
下面将遇到的启动遇到的错误的先列出来
这里写目录标题
Hmaster启动后,一会自动消失
这个问题其实是最表层的现象,导致这个问题的情况有很多,这个时候需要去看master的日志信息,一般启动后master消失肯定会在日志中报错。
查看master启动日志,因为日志较长,所以使用less命令查看,然后输入G查看最后一页,并用PageUp向上翻一到两页就可以看到错误。
命令如下
[root@hadoop02 hbase]# less logs/hbase-root-master-hadoop02.log
下面列出日志中可能出现的错误
- could only be replicated to 0 nodes instead of minReplication (=1). There are 2 datanode(s) running and no node(s) are excluded in this operation
可能是namenode和datanode的clusterId不一致,大家看到这个就知道大概该怎么做了,就是格式化namenode,这里可以去网上搜一下格式化namenode需要注意的地方,再进行格式化。
强调,也很有可能是配置文件出现的错误,所以也可以检查hdfs-site.xml、core-site.xml、hbaser-site.xml配置文件是否配置好 - Failed verification of hbase:meta,1 at address=master,16020,1520920692280, exception=org.apache.hadoop.hbase.NotServingRegionException: Region hbase:meta,1 is not online on master,16020,152092173620
原因是停止Hbase服务时或直接关闭虚拟机导致zookeeper的meta数据丢失或损毁。
解决步骤:
- 停止hbase、Zookeeper
- 找到zookeeper安装目录下的zoo.cfg文件,我的路径如下
/opt/module/zookeeper-3.4.10/conf
,找到dataDir=/opt/module/zookeeper-3.4.10/zkData - 删除zkData中的version2文件夹,命令:
rm -rf version2/
- 重启zookeeper、hbase
ERROR:org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
这是由于Hadoop处于安全模式所造成的原因,解除安全模式即可
命令bin/hadoop dfsadmin -safemode leave 或 hdfs dfsadmin -safemode leave
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
遇到这个错误也要去master日志文件中去查看信息,我在hbase shell中的list遇到这个问题去查看日志后,解决办法为进入zkCli.sh客户端,删除zookeeper中的hbase文件
步骤:
- 进入zookeeper目录,
bin/zkCli.sh
ls /
查看根目录下文件- 删除命令
rmr /hbase
ERROR: Can’t get master address from ZooKeeper; znode data == null
如上所说,导致这个shell中list这个错误只是表面现象,真正原因还是需要去master日志中查看,主要原因是master异常关闭了,然后原因如上述错误提示的原因。
除了如上原因外,我还遇到的原因是hdfs中有错误的文件,在hdfs的web管理页面可以看到错误提示,使用命令删除错误文件即可。
命令:hdfs dfs rm -rf /hbase...