Hadoop依赖Java环境,需确保已安装正确版本的Java(推荐Java 8)并配置好环境变量。
java -version,若未安装,使用sudo yum install java-1.8.0-openjdk-devel安装。/etc/profile或~/.bashrc中添加:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk # 根据实际路径调整
export PATH=$JAVA_HOME/bin:$PATH
执行source /etc/profile使配置生效。/opt/hadoop),可通过ls /opt/hadoop检查。/etc/profile或~/.bashrc中添加:export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
执行source /etc/profile使配置生效。重点核查core-site.xml、hdfs-site.xml的配置项(路径需根据实际调整):
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value> <!-- NameNode主机名与端口 -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 副本数(集群节点数≥3时建议设为3) -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/namenode</value> <!-- NameNode元数据存储路径 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value> <!-- DataNode数据存储路径 -->
</property>
</configuration>
确保路径存在且语法正确(无拼写错误、标签闭合)。首次启动HDFS前,必须格式化NameNode(会清除所有HDFS数据,请提前备份):
hdfs namenode -format
格式化后,启动HDFS服务:start-dfs.sh。
start-dfs.sh(若为伪分布式模式,也可使用start-all.sh)。systemctl status hadoop-namenode # 检查NameNode状态
systemctl status hadoop-datanode # 检查DataNode状态
或通过日志查看实时状态:tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log。若启动失败,日志是解决问题的关键。HDFS日志默认位于$HADOOP_HOME/logs/目录下(如hadoop-hadoop-namenode-centos.log),使用tail -f命令实时查看错误信息,根据错误提示针对性解决(如端口占用、权限问题等)。
sudo chown -R hadoop:hadoop /opt/hadoop # 将hadoop替换为实际用户
sudo chmod -R 755 /opt/hadoop/data
Address already in use错误,使用netstat -tuln | grep <端口号>(如9000)检查端口占用进程,终止占用进程或修改配置文件中的端口号。/etc/hosts文件,添加NameNode与DataNode的IP与主机名映射(如192.168.1.100 namenode),确保节点间能通过主机名互相访问。systemctl stop firewalld),若问题解决,将HDFS常用端口(如9000、50070)添加到防火墙规则:firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --permanent --add-port=50070/tcp
firewall-cmd --reload
ssh-keygen -t rsa,将公钥id_rsa.pub复制到目标节点的~/.ssh/authorized_keys中)。ntpdate或chrony工具),时间不同步可能导致HDFS通信问题。hdfs fsck /检查文件系统完整性,必要时修复(修复前备份数据)。stop-dfs.sh)并重新启动(start-dfs.sh),确保配置生效。通过以上步骤,可逐步定位并解决CentOS下HDFS配置失败的问题。若仍无法解决,建议提供具体错误日志,以便进一步分析。