HDFS在Ubuntu上如何扩展存储
导读:在 Ubuntu 上扩展 HDFS 存储的可选方案 水平扩展:新增 DataNode 节点,快速提升集群总容量与吞吐。适合业务持续增长、需要线性扩容的场景。 垂直扩展:为现有 DataNode 增加磁盘或扩大现有磁盘分区,扩容过程对集群影...
在 Ubuntu 上扩展 HDFS 存储的可选方案
- 水平扩展:新增 DataNode 节点,快速提升集群总容量与吞吐。适合业务持续增长、需要线性扩容的场景。
- 垂直扩展:为现有 DataNode 增加磁盘或扩大现有磁盘分区,扩容过程对集群影响较小,适合单机容量不足的场景。
方案一 水平扩展 新增 DataNode
- 准备新节点
- 安装与主集群相同版本的 Hadoop,配置 JAVA_HOME、HADOOP_HOME 与系统环境一致。
- 同步集群配置(如 core-site.xml、hdfs-site.xml),确保 fs.defaultFS 指向正确的 NameNode;必要时设置 dfs.namenode.datanode.registration.ip-hostname-check=false 以适配网络命名。
- 建议配置 NTP 时间同步与 SSH 免密,并临时关闭防火墙或放通端口,便于联调。
- 启动与纳管
- 在新节点启动 DataNode(如执行 start-dfs.sh 或仅启动 datanode 进程)。
- 在 NameNode 执行 hdfs dfsadmin -report 查看新节点是否已出现且状态为 Up。
- 数据均衡
- 启动均衡器以打散数据:start-balancer.sh;过程中可用 hdfs balancer -status 查看进度。
- 如带宽或收敛速度需调整,可先设置带宽:hdfs dfsadmin -setBalancerBandwidth 104857600(示例为 100 MB/s)。
方案二 垂直扩展 为现有 DataNode 增加磁盘或扩容分区
- 识别与分区
- 查看磁盘:fdisk -l;新增或扩展分区后,格式化新分区(如 mkfs.xfs/mkfs.ext4 /dev/sdX)。
- 挂载与持久化
- 挂载到数据目录(如 /newdisk):mount /dev/sdX /newdisk;在 /etc/fstab 增加条目以实现开机自动挂载。
- 配置 HDFS 使用新磁盘
- 在 hdfs-site.xml 的 dfs.datanode.data.dir 中追加新目录(可同时保留旧目录,实现多盘并行):
- 示例:
- dfs.datanode.data.dir/data1/hdfs/data,/newdisk/hdfs/data
- 示例:
- 仅重启该 DataNode 进程使配置生效。
- 在 hdfs-site.xml 的 dfs.datanode.data.dir 中追加新目录(可同时保留旧目录,实现多盘并行):
- 在线扩容文件系统(如已有分区扩容)
- 扩容分区后,扩展文件系统:
- ext4:执行 resize2fs /dev/sdX;
- XFS:执行 xfs_growfs /mount/point。
- 扩容分区后,扩展文件系统:
- 数据均衡
- 启动 start-balancer.sh 将数据迁移到新盘,提升整体磁盘利用率。
验证与运维要点
- 容量与节点状态
- 使用 hdfs dfsadmin -report 检查 Configured Capacity、DFS Used、Non DFS Used、Remaining 与 Live Nodes 数量是否符合预期。
- 安全模式与空间不足
- 若因空间不足进入 SafeMode,需先扩容磁盘或清理空间;必要时可临时离开安全模式:hdfs dfsadmin -safemode leave,但根本仍需释放或扩展空间。
- 均衡策略
- 均衡阈值与带宽会显著影响迁移速度与业务影响,建议结合负载窗口期设置 threshold 与 BalancerBandwidth。
常见误区与建议
- 新加磁盘或分区后,HDFS 不会自动识别,必须在 dfs.datanode.data.dir 中显式添加目录并重启 DataNode。
- 扩容已有分区后,需执行文件系统扩容命令(如 resize2fs/xfs_growfs),否则容量不会体现在挂载点。
- 新增 DataNode 不需要也不应该执行 hdfs namenode -format(该操作仅用于全新 NameNode 初始化),否则会清空元数据。
- 均衡会占用带宽与 I/O,建议在业务低峰期执行,并按需调节带宽与阈值。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HDFS在Ubuntu上如何扩展存储
本文地址: https://pptw.com/jishu/762327.html
