在 CentOS 上修改 HDFS(Hadoop Distributed File System) 通常指以下几类操作之一。下面按常见场景给你一个完整、实用的说明,你可以对照自己要做的来操作。
HDFS 的核心配置文件一般在:
$HADOOP_HOME/etc/hadoop/
常见文件包括:
| 文件 | 作用 |
|---|---|
hdfs-site.xml |
HDFS 核心参数 |
core-site.xml |
全局配置(如 NameNode 地址) |
hadoop-env.sh |
Java 环境 |
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>
vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
修改配置后必须重启 HDFS:
stop-dfs.sh
start-dfs.sh
或单独重启:
hadoop-daemon.sh stop namenode
hadoop-daemon.sh start namenode
hdfs dfs -chmod 777 /user
hdfs dfs -chown hdfs:hdfs /user
hdfs dfs -setrep -R 2 /user
⚠️ 生产环境需谨慎
stop-dfs.sh
hdfs-site.xml<property>
<name>dfs.datanode.data.dir</name>
<value>/data1/dfs,/data2/dfs</value>
</property>
cp -rp /old/dfs/* /data1/dfs/
start-dfs.sh
例如修改 NameNode RPC 端口:
<property>
<name>dfs.namenode.rpc-address</name>
<value>namenode:9000</value>
</property>
⚠️ 修改端口后,所有客户端、Hive、Spark 都要同步修改。
sudo chown -R hadoop:hadoop /data/hadoop
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
systemctl stop firewalld
systemctl disable firewalld
hdfs dfsadmin -report
hdfs fsck /
例如修改 HDFS Java 源码并重新编译:
mvn clean package -DskipTests
然后替换:
$HADOOP_HOME/share/hadoop/hdfs/
CentOS 上修改 HDFS = 改配置文件 + 重启 HDFS + 注意权限和防火墙
如果你能具体说明:
我可以给你 精确步骤 + 命令。