在 CentOS 上调 HDFS 参数,本质就是修改 Hadoop 的配置文件并重启相关服务。下面按常见场景 + 操作步骤给你一个完整说明。
HDFS 的核心配置文件在 Hadoop 的 etc/hadoop 目录中,常见有:
$HADOOP_HOME/etc/hadoop/
主要文件:
| 文件 | 作用 |
|---|---|
hdfs-site.xml |
HDFS 核心参数(最重要) |
core-site.xml |
通用 Hadoop 参数(如 NameNode 地址) |
yarn-site.xml |
YARN 参数(不是 HDFS,但常一起调) |
hadoop-env.sh |
JVM 参数、环境变量 |
✅ 90% 的 HDFS 调优都在
hdfs-site.xml
cd $HADOOP_HOME/etc/hadoop
如果没配置环境变量:
cd /usr/local/hadoop/etc/hadoop
hdfs-site.xmlvim hdfs-site.xml
示例(常见参数):
<configuration>
<!-- NameNode 数据存储目录 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/namenode</value>
</property>
<!-- DataNode 数据存储目录 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/datanode</value>
</property>
<!-- 副本数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 块大小(默认128MB) -->
<property>
<name>dfs.blocksize</name>
<value>134217728</value>
</property>
<!-- DataNode 节点最大传输线程数 -->
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>8192</value>
</property>
</configuration>
core-site.xmlvim core-site.xml
示例:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
如果是 多节点集群,必须同步配置:
scp hdfs-site.xml core-site.xml datanode1:/usr/local/hadoop/etc/hadoop/
scp hdfs-site.xml core-site.xml datanode2:/usr/local/hadoop/etc/hadoop/
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
| 参数 | 说明 |
|---|---|
dfs.blocksize |
块大小(128MB / 256MB) |
dfs.replication |
副本数 |
dfs.datanode.max.transfer.threads |
数据传输线程 |
dfs.namenode.handler.count |
NameNode RPC 线程数 |
dfs.datanode.handler.count |
DataNode RPC 线程数 |
编辑:
vim hadoop-env.sh
export HADOOP_NAMENODE_OPTS="-Xmx8g"
export HADOOP_DATANODE_OPTS="-Xmx4g"
hdfs getconf -confKey dfs.replication
http://namenode:9870
(Hadoop 3.x)
你可以直接说:
我可以给你针对你环境的参数模板。