HDFS部署的常见问题总结:
一、部署细节问题
- 是否遗漏了前置准备章节的相关操作?
- 是否遗漏了将文件夹(hadoop安装文件夹,/data数据文件夹) chown授权到hadoop用户这一操作
- 是否遗忘了格式化hadoop这一步(hadoop namenode -format)
- 是否是以root用户格式化的hadoop
- 是否以root启动过hadoop,后续以hadoop用户启动出错
- 是否在确认workers文件内,配置了node1,node2,node3三个节点
- 是否在/etc/profile内配置了HADOOP_HOME环境变量,并将 H A D O O P H O M E / b i n 和 HADOOP_HOME/bin和 HADOOPHOME/bin和HADOOP_HOME/sbin加入PATH变量
- 是否遗忘了软连接,但环境变量的配置的HADOOP_HOME确是:/export/server/hadoop
- 是否确认配置文件内容的准确(一个字符都不错),并确保三台机器的配置文件均OK
二、其他问题
-
权限问题:
- Permission denied(权限被拒绝)
hadoop安装文件夹或/data文件夹,未被授权给hadoop用户,所以无权限操作。
所有的Permission denied都是权限问题。
-
环境变量问题:
-
command not found
没有配置好环境变量,导致
- /export/server/hadoop/bin/hadoop
- /export/server/hadoop/sbin/start-dfs.sh & /export/server/hadoop/sbin/stop-dfs.sh
这些命令或脚本无法直接执行
-
-
workers文件问题
启动后仅有node1有进程出现
node2,node3无反应
检查,是否workers文件内没有正确的配置
start-dfs.sh脚本会:
- 在当前机器启动SecondaryNameNode,并根据core-site.xml的记录启动NameNode
- 根据Worker文件的记录,启动datanode。
-
未格式化
启动后,node1无NameNode,仅有DataNode和SecondayNameNode
node2,node3无反应
start-dfs.sh脚本未报错
查看NameNode日志(/export/server/hadoop/logs/hadoop-hadoop-namenode-node1.log)提示NameNode未格式化
Hadoop集群第一次启动为什么要格式化NameNode # 原因 # 1.Hadoop生态中的文件系统HDFS类似一块磁盘,初次使用硬盘需要格式化,让存储空间明白该按什么方# # 式组织存储数据。 # 2.格式化NameNode会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到以往数# 据。 # 如何格式化 # 格式化NameNode前,先关闭掉NameNode节点和DataNode节点,然后一定要删除hadoop目录下的data文# 件夹和log日志文件夹。最后再进行格式化。 hadoop namenode -format
-
配置文件错误
WstxEOFException,Unexpected EOF
配置文件有问题,仔细检查每一个字符。