温馨提示×

centos怎样扩容hdfs存储

小樊
45
2026-09-09 10:49:49
栏目: 云计算

CentOS 上扩容 HDFS 存储,通常有两种常见场景:横向扩容(加 DataNode)纵向扩容(单节点加磁盘)。下面按实操步骤说明。


一、横向扩容(新增 DataNode 节点)

适合集群存储整体不足

1. 新节点准备(CentOS)

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 配置 hosts
vi /etc/hosts
# 添加所有节点 IP 和 hostname

# 配置 NTP 时间同步
yum install -y ntp
systemctl enable ntpd
systemctl start ntpd

2. 创建 hadoop 用户并配置 SSH 免密

useradd hadoop
passwd hadoop

# 从 NameNode 拷贝公钥
ssh-copy-id hadoop@new-node

3. 安装 JDK 和 Hadoop

yum install -y java-1.8.0-openjdk
# 拷贝 NameNode 的 hadoop 目录
scp -r /opt/hadoop hadoop@new-node:/opt/

4. 修改集群配置

NameNode 上:

vi $HADOOP_HOME/etc/hadoop/workers
# 添加新节点 hostname

5. 启动 DataNode

$HADOOP_HOME/sbin/hadoop-daemon.sh start datanode
# 或
$HADOOP_HOME/bin/hdfs --daemon start datanode

6. 验证

hdfs dfsadmin -report

看到新 DataNode 即成功。


二、纵向扩容(单 DataNode 加磁盘)

适合单节点磁盘满了

1. 挂载新磁盘

fdisk -l
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1
mkdir /data2
mount /dev/sdb1 /data2

2. 修改 HDFS 配置

vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data1/dfs,/data2/dfs</value>
</property>

3. 创建数据目录

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

4. 重启 DataNode

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

三、让 HDFS 自动平衡数据(可选)

新节点加入后,数据不会立刻迁移:

hdfs balancer
# 或限制带宽
hdfs dfsadmin -setBalancerBandwidth 104857600

四、常见注意事项

  • NameNode 和 DataNode 版本必须一致
  • 新磁盘建议 单独挂载,不要放系统盘
  • 生产环境建议开启 机架感知
  • HDFS 不会自动删除旧数据,需等 balancer 执行

如果你能告诉我:

  • CDH / HDP / 原生 Hadoop
  • 加机器还是加磁盘
  • HDFS 版本

我可以给你更精确的命令和配置文件示例

0