HDFS节点(NameNode、DataNode、SecondaryNameNode)的管理核心是通过脚本命令控制服务启停及状态。
start-dfs.sh,会自动启动本地NameNode及所有DataNode服务;若需单独启停某组件,可使用hadoop-daemon.sh(如hadoop-daemon.sh start namenode)。stop-dfs.sh,停止所有DataNode及NameNode服务;单独停止组件同理(如hadoop-daemon.sh stop datanode)。jps命令查看NameNode、DataNode等进程是否运行;或使用hdfs dfsadmin -report获取集群详细状态(包括节点数量、存储容量、剩余空间等)。当集群存储或计算能力不足时,可通过以下步骤动态添加DataNode:
/etc/hadoop/conf/目录下的配置文件(core-site.xml、hdfs-site.xml)复制到新节点相同目录;编辑hdfs-site.xml,添加dfs.namenode.datanode.registration.ip-hostname-check false(避免IP/主机名校验问题)。hadoop-daemon.sh start datanode启动DataNode服务。hdfs dfsadmin -report,检查新节点是否出现在DataNode列表中。若需永久移除节点(如硬件故障、集群缩容),需通过优雅退役避免数据丢失:
hdfs dfsadmin -decommissionNode <NodeName>(<NodeName>为目标节点的主机名或IP),等待命令执行完成(需确保数据已迁移至其他节点)。hdfs dfsadmin -refreshNodes使配置生效。定期监控集群状态是保障HDFS稳定的关键,常用方法包括:
hdfs dfsadmin -report:查看集群整体状态(节点数量、存储使用、DataNode健康状况)。hdfs fsck /:检查HDFS文件系统健康状况(识别损坏文件块、丢失副本)。hdfs dfs -df -h /:查看HDFS根目录的空间使用情况(总容量、已用容量、剩余容量)。http://<namenode-host>:9870)查看集群拓扑、节点状态、存储指标等。/etc/hadoop/conf/core-site.xml中的fs.defaultFS配置是否正确;查看NameNode日志(/var/log/hadoop-hdfs/hadoop-hdfs-namenode-*.log),定位启动失败原因(如端口占用、元数据损坏)。/etc/hadoop/conf/core-site.xml中fs.defaultFS是否指向正确的NameNode地址;确认防火墙是否开放DataNode端口(默认50010);查看DataNode日志(/var/log/hadoop-hdfs/hadoop-hdfs-datanode-*.log),排查连接问题。hdfs fsck / -files -blocks检查数据块完整性;若副本数不足,HDFS会自动从其他节点复制副本(需确保dfs.replication参数设置合理)。以上步骤覆盖了CentOS环境下HDFS节点的核心管理操作,可根据实际需求调整配置参数(如副本数、块大小),并结合监控工具实现集群的自动化管理。