在 Linux 上调 HDFS 参数,本质就是修改 HDFS 的配置文件并重启/刷新相关服务。下面按“在哪里改 → 改什么 → 怎么生效”给你一个清晰说明。
HDFS 主要配置文件通常在:
$HADOOP_HOME/etc/hadoop/
常见文件:
| 文件 | 作用 |
|---|---|
hdfs-site.xml |
HDFS 核心参数(副本数、块大小等) |
core-site.xml |
全局参数(NameNode 地址等) |
hadoop-env.sh |
JVM 参数、环境变量 |
mapred-site.xml |
MapReduce(非 HDFS,但常在一起) |
yarn-site.xml |
YARN(非 HDFS) |
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>134217728</value> <!-- 128MB -->
</property>
hadoop-env.sh
export HADOOP_NAMENODE_OPTS="-Xmx4g -Xms4g"
export HADOOP_DATANODE_OPTS="-Xmx2g -Xms2g"
<property>
<name>dfs.heartbeat.interval</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.heartbeat.recheck-interval</name>
<value>300000</value>
</property>
stop-dfs.sh
start-dfs.sh
或分别重启:
hadoop-daemon.sh stop namenode
hadoop-daemon.sh start namenode
hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode
某些参数(如副本数)可动态改:
hdfs dfsadmin -refreshNodes
hdfs dfs -setrep -R 2 /user/data
hdfs dfs -stat %r /user/data/file.txt
hdfs getconf -confKey dfs.replication
或:
hdfs dfsadmin -report
如果你能告诉我:
我可以直接给你精确配置示例。