持续更新问题
写在前面
纯小白一个,从前痴迷理论,如今幡然悔悟,宁愿半死不活在坑里,爬出来再幡然悔悟,也不愿脚踩空地,软软踏踏的。尤其是大数据开发,组件众多,没有对操作系统和编程的基础,能理解也依然前途漫漫。作为一个java和python的半吊子,自确定了入这个坑,觉得多踩踩坑吧,什么时候爬出来坑,幡然悔悟了,也就融会贯通了吧。
坑是数不清的,更不能瞎踩,再小的问题没踩过都不能轻视,具体问题具体分析,因为只有你清楚你自己做了什么。
As it is your cluster, only you can find out and track down the problem.
特别说明
我觉的坑分两种:简单的,复杂的
简单的就是没有搞清楚版本就往坑里跳的。
复杂的就是没有搞清楚原理卡在坑里一条腿的。
问题初汇
1. 问题:在/etc/sysconfig/network-scripts/目录下进行网络配置后,重启network服务失败。
原因:
1.配置文件名和网络适配器名称要一致,比如配置文件名为ifcfg-ens33,则NAME=ens33
2.找不到需要启动的网卡MAC地址
3.其他参数配置问题
解决:先通过systemctl status network.service查看启动状态,再执行journal -xe或者cat /var/log/messages | grep network 查找问题原因。如果是不适配问题比如dispatched等单词出现,分别stop和disable掉NetworkManager。
2.问题:hadoop下载时有source版本和binary版本,区别是什么?
回答:简单来讲,binary是编译好的可以直接使用,source是还没编译过的源代码,需要自行编译。
3.问题:配置主机的hostname,在/etc/sysconfig/network下找不到
原因:centos版本问题,centos7 hostname的配置文件已经改为了/etc/hosts。
解决:编辑/etc/hosts文件,只保留新主机名。重启后生效。
4.问题:执行hadoop命令时,提示no such file or directory。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mU3AsdBp-1573992846220)(en-resource://database/2890:1)]
原因:命令格式不对。hadoop的put命令格式为:hadoop -put [local file] [hdfs file], 如果没有第二个参数,hdfs的路径会自动加上/user/root,但因为暂时没有加入用户,导致如上的错误提示。
解决:该命令应该表示为:hadoop -put /etc/passwd /
5.问题:防火墙关闭找不到iptables服务
原因:centos的版本问题,centos6使用iptables服务来管理防火墙,而centos7使用firewalld服务来管理
解决:
1.使用systemctl命令来关闭firewalld.service
2.安装iptables-server,仍然用旧命令关闭服务:service iptables stop,该命令会提示跳转到systemctl命令
6.问题:集群打开后,执行hadoop命令报错,提示拒绝连接。

原因:主机用来作为hdfs通信的master:9000端口没有打开,官网提示只要hadoop配置不出问题,问题一般处在host,network,firewall。最后发现是因为没有进行格式化namenode。
解决:执行命令hdfs namenode -format后,执行start-dfs.sh脚本,并用jps命令查看master上的Java进程,需要包含’NameCode,DataCode’这两个进程,如果缺少DataCode进程,可能的原因是slaves的网络和防火墙问题。
7.问题:hadoop3.1.2版本,通过执行/sbin/start-all.sh命令后,提示多个error。

原因:hadoop3.1.2版本,除了需要在/etc/hadoop/中配置七个文件,还需要在/sbin/目录下对4个脚本文件进行修改。
解决:
- 七个配置文件
- core-site.xml 配置fs.default.name和hadoop.tmp.dir的路径
- hdfs-site.xml 配置dfs.replication的dfs默认冗余度为3
- mapred-site.xml 配置mapred.job.tracker的计算路径为master:9001
- yarn-site.xml 配置
- hadoop-env.sh 添加变量JAVA_HOME的路径
- yarn-env.sh 同上
- workers 代替旧版本的slaves文件,加入slaves的IP或配置过/etc/hosts的主机名
- 四个脚本文件
- start-dfs.sh, stop-dfs.sh添加:
HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root- start-yarn.sh, stop-yarn.sh添加:
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root
8.问题:执行hadoop的put操作时,报Datastreamer Exception,和NoRouteToHostException



原因:通过jps检查Java进程可以看到,缺少DataNode进程,进入tmp/dfs/目录下也没有data文件夹,说明集群的DataNode节点和主机的通信有问题。一般是DataNode主机和各节点的主机名与IP地址的映射关系未设置好,再或者是防火墙的问题。经过ping检查,各映射关系良好,问题出在slaves主机的防火墙未关闭。
解决:
centos6.0
查看防火墙状态:service iptables status
关闭防火墙:chkconfig iptables off #开机不启动防火墙服务
centos7.0(默认是使用firewall作为防火墙,如若未改为iptables防火墙,使用以下命令查看和关闭防火墙)
查看防火墙状态:firewall-cmd --state
关闭防火墙:systemctl stop firewalld.service
————————————————
原文链接:https://blog.csdn.net/lsxy117/article/details/47217161
问题9:slave1: nodemanager did not stop gracefully after 5 seconds: killing with kill -9 no proxyserver to stop

原因:nodemanager没有正常关闭,NM是AM在datanode上的代理资源管理器,用来分配节点资源。很可能的情况是有任务被crtl+c终止后没有kill掉该job,没有产生其他影响
解决:等待job被自动kill掉,重启即可。
这篇博客总结了在CentOS7上配置Hadoop2.6.5-3.1.2集群时遇到的问题,包括网络配置、版本选择、hostname设置、hadoop命令使用、iptables服务、端口打开、配置文件修改等,并提供了详细的解决方法。

2527

被折叠的 条评论
为什么被折叠?



