温馨提示×

centos怎样配hdfs副本

小樊
44
2026-09-15 14:44:16
栏目: 智能运维

在 CentOS 上配置 HDFS 副本数(replication),通常有三种层面:集群默认配置、目录/文件级别、客户端指定。下面按常见场景说明。


一、修改 HDFS 默认副本数(最常用)

1. 修改 hdfs-site.xml

在 NameNode 所在节点编辑:

vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

添加或修改:

<property>
    <name>dfs.replication</name>
    <value>3</value>   <!-- 想要设置的副本数 -->
</property>

⚠️ 副本数 不能超过 DataNode 数量

2. 重启 HDFS

stop-dfs.sh
start-dfs.sh

或(Hadoop 3+):

$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/start-dfs.sh

二、对已有文件/目录修改副本数

1. 修改某个目录的副本数

hdfs dfs -setrep -R 2 /user/hadoop
  • -R:递归
  • 2:副本数

2. 修改单个文件

hdfs dfs -setrep 1 /user/hadoop/test.txt

3. 查看当前副本数

hdfs dfs -ls /user/hadoop

或:

hdfs dfs -stat %r /user/hadoop/test.txt

三、上传文件时指定副本数(客户端)

hdfs dfs -D dfs.replication=2 -put localfile /hdfs/path

四、CentOS 常见注意点

1. DataNode 数量不足

如果:

  • 设置副本数 = 3
  • DataNode = 2

HDFS 会 降级存储,Web UI 显示 Under Replication

2. 防火墙(CentOS 7+)

确保端口开放:

firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --permanent --add-port=50010/tcp
firewall-cmd --reload

3. SELinux(测试环境可关)

setenforce 0

五、最小配置示例(单机/测试)

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

如果你愿意,可以告诉我:

  • Hadoop 版本(2.x / 3.x)
  • 是否集群 / 单机
  • 想配成几副本

我可以给你 精确配置文件示例。

0 踩