主要记录实际项目中遇到问题以及解决方式。
1、伪分布式部署时,若core-site.xml文件中采用如下图所示配置,其他应用与Hadoop非部署在同一台服务器时,其他应用会无法连上Hadoop。
原因:这种情况下,外部访问时会将datanode地址解析为127.0.0.1,导致应用无法正常连上Hadoop。将0.0.0.0修改为实际IP即可。
2、Hadoop的datanode节点分配较大存储空间(40TB以上)或者存储较多文件时,重启服务器,Hadoop初始化速度会比较慢。若服务器重启时应用与Hadoop同时启动,可能会出现应用连接Hadoop失败,这个时候需要应用去重复链接或者等Hadoop初始化完成后再启动应用。
3、多次格式化后无法正常启动datanode节点
查看datanode节点日志信息,报错如下:
原因:多次格式化造成datanode的clusterID和namenode的clusterID不匹配。
解决办法:
根据日志中的路径,cd /home/hadoop/tmp/dfs
能看到data和name两个文件夹,
将name/current下的VERSION中的clusterID复制到data/current下的VERSION中,覆盖掉原来的clusterID(对datanode节点操作)
4、Non DFS Used占用空间变大
现象:通过http://IP:50070 发现NonDFS Used占用空间变大
原因:集群启用了historyserver,这个进程在删除临时文件后没有释放文件句柄,导致Non DFS Used空间增大
解决方式:
1)、重启hadoop的historyserver
2)、mr-jobhistory-daemon.sh start historyserver
3)、重启dfs
5、单机部署时通过服务自启动的方式启动Hadoop服务,有时候服务器断电会出现Hadoop节点未起来。
报错日志:
服务自启动脚本:
解决方式:未解决