温馨提示×

linux hadoop怎么扩容

小樊
41
2026-10-07 10:18:05
栏目: 智能运维

在 Linux 环境下对 Hadoop(HDFS)进行扩容,通常分为 增加 DataNode 节点 和 现有节点加磁盘 两种方式。下面按常见场景说明。


一、Hadoop 扩容常见方式

方式 1:新增 DataNode 节点(最常用)

适合集群规模扩大。

1. 新节点准备

  • 安装相同版本的 JDK
  • 安装相同版本的 Hadoop
  • 配置主机名、IP、免密 SSH(NameNode → 新节点)

2. 配置 hosts(所有节点)

vi /etc/hosts

添加:

新IP  newnode

3. 修改 Hadoop 配置

在 NameNode 上:

vi $HADOOP_HOME/etc/hadoop/workers

(老版本叫 slaves) 添加:

newnode

4. 同步配置到新节点

scp -r $HADOOP_HOME newnode:$HADOOP_HOME

5. 启动 DataNode

在新节点执行:

hdfs --daemon start datanode

6. 验证

hdfs dfsadmin -report

能看到新 DataNode 即扩容成功。


方式 2:现有节点增加磁盘(不改节点数)

适合单机磁盘不够。

1. 挂载新磁盘

mkfs.ext4 /dev/sdb
mkdir /data2
mount /dev/sdb /data2

2. 修改 hdfs-site.xml

<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data1/dfs,/data2/dfs</value>
</property>

3. 创建目录并授权

mkdir -p /data2/dfs
chown -R hdfs:hadoop /data2/dfs

4. 重启 DataNode

hdfs --daemon stop datanode
hdfs --daemon start datanode

二、HDFS 自动均衡(重要)

新节点加入后,数据不会立刻分布均匀。

手动触发均衡

hdfs balancer

限制带宽(避免影响业务)

hdfs dfsadmin -setBalancerBandwidth 104857600

(单位:Byte/s)


三、YARN 扩容(如果也用)

如果是 YARN 集群:

yarn --daemon start nodemanager

验证:

yarn node -list

四、注意事项

  1. Hadoop 版本必须一致
  2. 配置必须同步
  3. 扩容后建议观察:
    • NameNode Web UI
    • 磁盘使用率
    • 网络 IO
  4. HDFS 不支持“缩容删除副本自动回收”,删除节点需先 decommission

五、如果你告诉我:

  • Hadoop 版本(2.x / 3.x)
  • 是 HDFS 还是 YARN
  • 是加机器还是加磁盘

我可以给你 精确到命令级的扩容方案。

0 踩