如何调整CentOS HDFS容量
导读:CentOS 上调整 HDFS 容量的实用指南 一、容量调整的总体思路 横向扩容:新增 DataNode 节点,直接提升集群可用容量与并发能力。适用于业务持续增长场景。 纵向扩容:为现有 DataNode 增加磁盘或挂载点,并配置多目录,...
CentOS 上调整 HDFS 容量的实用指南
一、容量调整的总体思路
- 横向扩容:新增 DataNode 节点,直接提升集群可用容量与并发能力。适用于业务持续增长场景。
- 纵向扩容:为现有 DataNode 增加磁盘或挂载点,并配置多目录,提升单机容量。
- 存储策略优化:调整 副本因子 dfs.replication、块大小 dfs.blocksize、启用压缩与配额,在不加硬件的情况下优化“可用容量”和“有效容量”。
- 缩容下线:通过 黑名单退役 机制安全下线节点,保持数据可靠性。
二、横向扩容 增加 DataNode 节点
- 准备新节点:安装同版本 Hadoop、配置 core-site.xml/hdfs-site.xml、JDK、主机名与 hosts 映射、SSH 免密、时间同步,关闭防火墙或放行端口。
- 注册节点:在 NameNode 的 $HADOOP_HOME/etc/hadoop/workers(或旧版 slaves)中加入新节点主机名,便于统一启停。
- 启动服务:在新节点执行启动命令(Hadoop 3.x 推荐)
- 启动:hdfs --daemon start datanode
- 验证:jps 能看到 DataNode
- 验证加入:在 NameNode 执行 hdfs dfsadmin -report 或访问 **NameNode Web UI(Hadoop 3.x 默认 9870 端口)**查看新节点状态。
- 数据均衡:设置带宽并启动均衡器,避免新节点空置
- 设置带宽:hdfs dfsadmin -setBalancerBandwidth 104857600(示例 100 MB/s)
- 启动均衡:hdfs balancer -threshold 5(各节点使用率差异在 5% 内视为均衡)
三、纵向扩容 为现有 DataNode 增加磁盘或目录
- 挂载新磁盘:在操作系统层面完成分区、格式化与挂载,例如挂载到 /data1、/data2。
- 配置多目录:在 $HADOOP_HOME/etc/hadoop/hdfs-site.xml 中设置
- dfs.datanode.data.dir=/data1/hdfs,/data2/hdfs
- 滚动重启:逐台 DataNode 执行(避免同时重启)
- 停止:hdfs --daemon stop datanode
- 启动:hdfs --daemon start datanode
- 验证:
- 命令行:hdfs dfsadmin -report(查看 Configured Capacity 与 DFS Used)
- 系统层面:df -h(确认新盘已挂载并被 DataNode 使用)
- 注意事项:新增目录需确保 权限与属主 正确(如 hdfs:hadoop),并确保 Hadoop 用户对该目录有读写权限。
四、不增加硬件的容量优化
- 调整副本因子:在 hdfs-site.xml 中设置 dfs.replication(如从 3 调至 2 可释放约 33% 空间;从 3 调至 1 释放约 66%,但可靠性显著下降)。变更后新写入按新因子执行,存量数据需通过重写或工具逐步调整。
- 调整块大小:dfs.blocksize 默认 128MB,大文件场景可适当增大以减少元数据与寻址开销,小文件密集场景不宜过大。
- 启用压缩:对 ORC/Parquet/Text 等数据选择合适的 Snappy/ZSTD/LZO 压缩,降低存储占用并提升传输效率。
- 配额管理:对关键目录设置 空间配额/数量配额
- 设置空间配额:hdfs dfsadmin -setSpaceQuota 1t /data/warehouse
- 清除配额:hdfs dfsadmin -clrSpaceQuota /data/warehouse
- 预留空间:设置 dfs.datanode.du.reserved,为系统与非 HDFS 进程预留磁盘,避免磁盘被写满导致节点异常。
五、缩容与安全下线节点
- 配置黑名单:在 hdfs-site.xml 中指定 dfs.hosts.exclude 文件路径,将待退役节点写入该文件(如 /opt/hadoop/etc/hadoop/excludes)。
- 刷新节点:在 NameNode 执行 hdfs dfsadmin -refreshNodes,等待退役节点状态变为 Decommissioned(所有块已复制完成)。
- 停止服务:在退役节点执行 hdfs --daemon stop datanode。
- 注意事项:若副本因子为 3,服役节点数需 大于 3 才能成功退役;否则需先提高副本因子或补充节点后再退役。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何调整CentOS HDFS容量
本文地址: https://pptw.com/jishu/758869.html
