一、HDFS集群基础管理
start-dfs.sh脚本启动HDFS集群(自动启动本地NameNode及所有DataNode);停止集群则执行stop-dfs.sh。若需单独控制某组件(如NameNode),可使用hadoop-daemon.sh命令(例如hadoop-daemon.sh start namenode)。hdfs dfsadmin -report命令获取集群详细信息,包括DataNode数量、存储容量、剩余空间及各节点健康状况;jps命令查看NameNode、DataNode等关键进程是否运行;http://<namenode-host>:9870),可视化查看集群拓扑、节点状态及存储指标。二、节点生命周期管理
/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服务,回到NameNode节点执行hdfs dfsadmin -report,确认新节点已加入集群。hdfs dfsadmin -decommissionNode <目标节点主机名/IP>,等待命令完成(确保数据已迁移至其他节点);hdfs dfsadmin -refreshNodes使配置生效。三、配置管理
core-site.xml:定义HDFS默认文件系统(fs.defaultFS,如hdfs://namenode:9000)及临时目录(hadoop.tmp.dir,如/data/hadoop/tmp);hdfs-site.xml:配置HDFS关键参数,包括数据块大小(dfs.blocksize,推荐128MB或256MB)、副本数量(dfs.replication,默认3)、NameNode元数据目录(dfs.namenode.name.dir,如/data/hadoop/namenode)、DataNode数据目录(dfs.datanode.data.dir,如/data/hadoop/datanode)。rsync工具或配置管理工具如Ansible实现),避免因配置差异导致集群异常。四、监控与日志管理
hdfs dfsadmin -report(集群状态)、hdfs fsck /(文件系统健康检查,识别损坏块)、hdfs dfs -df -h /(HDFS空间使用情况);http://<namenode-host>:9870)查看集群拓扑、节点状态、存储指标及数据块分布;/var/log/hadoop-hdfs/hadoop-hdfs-namenode-<hostname>.log)、DataNode(/var/log/hadoop-hdfs/hadoop-hdfs-datanode-<hostname>.log)的日志文件,通过日志定位节点故障(如DataNode心跳超时)、数据块损坏等问题。五、权限与安全管理
hdfs dfs -chmod(修改文件/目录权限,如hdfs dfs -chmod 755 /user/data)、hdfs dfs -chown(修改所有者,如hdfs dfs -chown user:group /user/data)命令,遵循Linux权限模型;hdfs dfs -setfacl(设置访问控制列表,如hdfs dfs -setfacl -m user:admin:rwx /secure/data)、hdfs dfs -getfacl(查看ACL)命令,实现更细粒度的权限管理(如允许特定用户访问敏感目录)。hdfs-site.xml中的dfs.encrypt.data.transfer参数为true);hdfs-site.xml中hdfs.audit.logger参数),记录用户操作(如文件创建、删除),便于安全追溯。六、性能优化
hdfs balancer命令启动数据平衡(默认阈值为10%,即各DataNode存储利用率差异不超过10%),将数据块均匀分布到集群节点,避免热点节点(如某节点存储占比过高导致性能下降)。七、数据备份与恢复
/data/hadoop/namenode/current目录),可使用hdfs namenode -backup命令或复制到异地存储;distcp命令跨集群复制数据(如hadoop distcp hdfs://namenode1:9000/user/data hdfs://namenode2:9000/user/backup),实现异地容灾;hdfs dfsadmin -allowSnapshot /user/data、hdfs dfs -createSnapshot /user/data snapshot1),快速恢复到指定时间点。current目录下的文件),重启NameNode;distcp从备份集群复制数据,或使用hdfs dfs -put命令手动上传;hdfs dfs -restoreSnapshot /user/data snapshot1命令恢复到指定快照。八、集群扩展
hdfs dfsadmin -report确认节点状态。扩展后使用hdfs balancer平衡数据,确保数据均匀分布。