在 Linux 上设置 HDFS(Hadoop Distributed File System)参数,主要通过修改 Hadoop 的配置文件来完成。下面按常见场景 + 关键参数给你一个完整说明。
Hadoop 的配置文件一般在:
$HADOOP_HOME/etc/hadoop/
常见文件包括:
| 文件 | 作用 |
|---|---|
hdfs-site.xml |
HDFS 核心参数 |
core-site.xml |
通用 Hadoop 参数(如 NameNode 地址) |
hadoop-env.sh |
JVM、环境变量 |
yarn-site.xml |
YARN 相关(非 HDFS,但常一起用) |
<configuration>
<!-- NameNode 元数据存储目录 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/dfs/name</value>
</property>
<!-- DataNode 数据存储目录 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/dfs/data</value>
</property>
</configuration>
✅ 建议:
<value>/data1/dfs/data,/data2/dfs/data</value>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>134217728</value> <!-- 128MB -->
</property>
常见值:
<property>
<name>dfs.namenode.rpc-address</name>
<value>namenode:9000</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>namenode:9870</value>
</property>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
✅ 这是 HDFS 的入口地址
export HADOOP_HEAPSIZE=2048
或:
export HADOOP_NAMENODE_OPTS="-Xmx2g"
export HADOOP_DATANODE_OPTS="-Xmx2g"
scp hdfs-site.xml core-site.xml slave1:$HADOOP_HOME/etc/hadoop/
scp hdfs-site.xml core-site.xml slave2:$HADOOP_HOME/etc/hadoop/
stop-dfs.sh
start-dfs.sh
或单独重启:
hdfs --daemon stop namenode
hdfs --daemon start namenode
hdfs dfsadmin -report
hdfs getconf -confKey dfs.replication
| 参数 | 说明 |
|---|---|
dfs.datanode.max.transfer.threads |
提高并发 |
dfs.namenode.handler.count |
NameNode RPC 线程数 |
dfs.datanode.directoryscan.interval |
磁盘扫描间隔 |
dfs.blocksize |
大文件调大 |
❌ 改了配置但没重启
❌ 目录权限不对
chown -R hadoop:hadoop /data/hadoop
❌ 配置文件 XML 格式错误
你可以告诉我:
我可以给你一份针对你环境的 HDFS 参数模板。