目录
1、hadoop集群3个节点启动正常,但是namenode和datanode之间无法正常通讯
2、启动mapreduce作业时,无法启动,报namenode安全模式(safe mode)
3、提交mapreduce作业,map阶段正常,reduce阶段失败,报虚拟内存不足
4、mapreduce作业正常执行,map阶段可以正常结束,但reduce失败,报错:
1、hadoop集群3个节点启动正常,但是namenode和datanode之间无法正常通讯
hdfs dfs -put xxxx.txt /user/root
报错消息:0 datanode 2 datanode running but exclude。。。
1、检查防火墙
2、检查以下datanode启动日志,确认是不是blk pool id (数据块id)不一致
删除datanode上的文件系统,重新格式namenode
启动日志的位置:/opt/hadoop-2.8.5/logs/hadoop-root-datanode-hadoop02.log
cat /opt/hadoop-2.8.5/logs/hadoop-root-datanode-hadoop02.log
看最新的报错信息,进行解决
解决方法:
防火墙没关闭:
关闭防火墙
各个节点的防火墙都应关闭,运行如下命令:
systemctl stop firewalld systemctl disable firewalld
第二个问题:
step 1 删除每个datanode节点上数据块 rm -rf current/ 路径:/opt/hadoop-2.8.5/tmp/dfs/data
step 2 格式化namenode
hdfs namenode -format
在实际中没有遇到这个问题,只是身边发现有这样的问题!可以借助参考
2、启动mapreduce作业时,无法启动,报namenode安全模式(safe mode)
集群正在启动中,会有一个短暂的安全模式时期,不接受作业,稍后即可
或者输入命令:
hdfs dfsadmin -safemode leave