温馨提示×

CentOS如何修改HDFS

小樊
44
2026-07-09 18:14:50
栏目: 智能运维

CentOS 上修改 HDFS(Hadoop Distributed File System) 通常指以下几类操作之一。下面按常见场景给你一个完整、实用的说明,你可以对照自己要做的来操作。


一、修改 HDFS 配置文件(最常见)

HDFS 的核心配置文件一般在:

$HADOOP_HOME/etc/hadoop/

常见文件包括:

文件 作用
hdfs-site.xml HDFS 核心参数
core-site.xml 全局配置(如 NameNode 地址)
hadoop-env.sh Java 环境

1️⃣ 修改 HDFS 配置

cd $HADOOP_HOME/etc/hadoop
vim hdfs-site.xml

例如:修改副本数

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

或修改 NameNode 目录:

<property>
  <name>dfs.namenode.name.dir</name>
  <value>/data/hadoop/namenode</value>
</property>

2️⃣ 修改 NameNode 地址(core-site.xml)

vim core-site.xml
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://namenode:9000</value>
</property>

3️⃣ 使配置生效

修改配置后必须重启 HDFS:

stop-dfs.sh
start-dfs.sh

或单独重启:

hadoop-daemon.sh stop namenode
hadoop-daemon.sh start namenode

二、修改 HDFS 目录 / 文件权限

1️⃣ 修改目录权限

hdfs dfs -chmod 777 /user

2️⃣ 修改属主

hdfs dfs -chown hdfs:hdfs /user

3️⃣ 修改副本数(已存在文件)

hdfs dfs -setrep -R 2 /user

三、修改 HDFS 存储目录(数据盘)

⚠️ 生产环境需谨慎

  1. 停止 HDFS
stop-dfs.sh
  1. 修改 hdfs-site.xml
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data1/dfs,/data2/dfs</value>
</property>
  1. 拷贝原有数据(可选)
cp -rp /old/dfs/* /data1/dfs/
  1. 启动 HDFS
start-dfs.sh

四、修改 HDFS 端口(不推荐)

例如修改 NameNode RPC 端口:

<property>
  <name>dfs.namenode.rpc-address</name>
  <value>namenode:9000</value>
</property>

⚠️ 修改端口后,所有客户端、Hive、Spark 都要同步修改。


五、CentOS 常见坑

1️⃣ 权限问题

sudo chown -R hadoop:hadoop /data/hadoop

2️⃣ SELinux 关闭

setenforce 0
vim /etc/selinux/config
SELINUX=disabled

3️⃣ 防火墙

systemctl stop firewalld
systemctl disable firewalld

六、验证 HDFS 是否修改成功

hdfs dfsadmin -report
hdfs fsck /

七、如果你指的是「修改 HDFS 源码」

例如修改 HDFS Java 源码并重新编译:

mvn clean package -DskipTests

然后替换:

$HADOOP_HOME/share/hadoop/hdfs/

八、总结一句话

CentOS 上修改 HDFS = 改配置文件 + 重启 HDFS + 注意权限和防火墙


如果你能具体说明:

  • ✅ 是 改配置 / 改目录 / 改权限 / 改端口 / 改源码
  • 单机还是集群
  • Hadoop 版本

我可以给你 精确步骤 + 命令

0