hadoop集群配置踩坑实录
实验背景介绍
使用三台主机建立hadoop集群。其中,master为主节点,slave1、slave2为从节点。
踩坑记录1:start-dfs.sh失败,从节点提示“没有那个文件或目录”
报错信息
原因
集群中所有主机的hadoop的安装路径不一致。
更具体的原因是:自己首先在master主机安装了hadoop并完成了配置,后续将hadoop整个文件夹传给从节点主机时,没有传到与主机中hadoop安装路径一致的路径。也就是说,如果master主机的hadoop安装在/root/soft
路径下,就要将hadoop整个文件夹传到从节点主机的/root/soft
下。
教训
主节点和从节点的hadoop安装路径要保持一致。
踩坑记录2:无法将hadoop文件夹传到slave1和slave2
原因
命令打错了。打多了一个空格。
教训
scp -r hadoop-2.7.3 root@slave1:/root/soft
:
和/home
之间不需要有空格。
踩坑记录3:nameNode进程启动不成功
报错信息
(这个报错信息自己原先觉得不明显,不算是报错信息,但其实这已经有在提示输入的参数格式不对了)
原因
初始化不正确。
这可能是由输入的命令的字符不对造成的。英文字符打成了中文字符。
如果是这个原因导致的datanode进程没有启动,那么:
①储存主节点数据的name文件夹下没有内容;
②查看日志文件(在hadoop-2.7.3下的logs文件夹中),会翻到如下图所示的错误提示。
教训
正确写法如下:
hdfs namenode -format
指引文件(word文件)中的代码还是建议自己手动输入,而不是复制粘贴。一些隐藏的字符可能会造成错误。指引文件中的笔误也需要自己留心甄别。
当然,留心日志的内容也有助于排错。
其他可能的原因
1. 配置文件错误
我一开始安装hadoop的路径与指引文件中hadoop的安装路径不同,所以一味地按照指引文件进行配置文件修改、命令复制粘贴,最终一定会在某个步骤暴露问题。
教训
记住自己的hadoop安装路径/root/soft/hadoop-2.7.3
,以后对指引文件中出现的/home
留个心眼,替换成自己的hadoop安装路径。
例如:
存储集群主节点数据、存储从节点数据和存储临时数据的文件夹路径的创建;
core-site.xml
文件中对hadoop集群临时数据存储路径的配置;
hdfs-site.xml
文件中对主节点数据(name文件夹)和从节点数据(data文件夹)存储路径的配置;
/etc/profile
文件中对hadoop路径的设定的配置;将hadoop文件夹从master(主节点)传到slave1(从节点1)和slave2(从节点2)的命令中的路径。
2. slave文件中从节点名称拼写错误
检查hadoop-2.7.3下的etc/hadoop下的slave文件,观察从节点名称拼写是否错误。