一、HDFS集群扩容前的准备工作
core-site.xml(如fs.defaultFS指向NameNode地址)、hdfs-site.xml(如dfs.replication副本数、dfs.namenode.handler.countNameNode线程池大小)等核心配置文件复制到新节点的Hadoop配置目录(通常为$HADOOP_HOME/etc/hadoop)。二、新增DataNode节点的具体步骤
hdfs --daemon start datanode(或hadoop-daemon.sh start datanode,取决于Hadoop版本),启动DataNode进程。hdfs dfsadmin -report,查看输出中的“Live DataNodes”列表,确认新节点的IP、存储目录、剩余空间等信息已显示,表示节点成功加入集群。三、可选:纵向扩容(现有节点硬件升级)
/dev/sdb1)并格式化(sudo mkfs.ext4 /dev/sdb1)。/mnt/newdisk),执行sudo mount /dev/sdb1 /mnt/newdisk临时挂载;修改/etc/fstab文件(添加/dev/sdb1 /mnt/newdisk ext4 defaults 0 0),实现开机自动挂载。hdfs-site.xml文件,添加新的存储路径到dfs.datanode.data.dir属性(如/path/to/existing/dir,/mnt/newdisk,多个路径用逗号分隔)。sudo systemctl restart hadoop-datanode或hdfs --daemon restart datanode)。四、数据平衡操作
hdfs balancer命令,启动HDFS自带的平衡器。该工具会自动将数据从存储利用率高的节点迁移到低的节点,默认平衡阈值是10%(可通过-threshold参数调整,如hdfs balancer -threshold 5)。hdfs balancer -status命令,查看平衡进度(显示“Balancing is not running”表示完成);也可通过Web UI(如NameNode的50070端口)监控数据迁移情况。五、扩容验证
hdfs dfsadmin -report,确认新节点的存储空间已被纳入集群统计,数据块分布均匀(各节点的“Used Space”比例差异小)。hdfs dfs -put /local/largefile /testdir),读取该文件并记录时间,验证数据访问性能是否符合预期。