下面从常见、实用的角度,系统说明 Linux 上 HDFS 的配置参数设置,适用于 Hadoop 3.x(2.x 也基本通用)。
HDFS 配置主要在 Hadoop 的 etc/hadoop 目录:
$HADOOP_HOME/etc/hadoop/
核心配置文件:
hdfs-site.xml ✅(HDFS 核心参数)core-site.xml ✅(全局基础配置)hadoop-env.sh ✅(环境变量)<configuration>
<!-- NameNode URI -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
<!-- Hadoop 临时目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop/tmp</value>
</property>
</configuration>
| 参数 | 说明 |
|---|---|
| fs.defaultFS | HDFS 访问入口 |
| hadoop.tmp.dir | 临时目录(建议单独磁盘) |
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/dfs/name</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>namenode:9870</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/dfs/data</value>
</property>
<property>
<name>dfs.datanode.http-address</name>
<value>datanode:9864</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk
export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
datanode1
datanode2
datanode3
<property>
<name>dfs.blocksize</name>
<value>128m</value>
</property>
<property>
<name>dfs.heartbeat.interval</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.heartbeat.recheck-interval</name>
<value>300000</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>20</value>
</property>
hdfs namenode -format
$HADOOP_HOME/sbin/start-dfs.sh
hdfs dfs -ls /
Web UI:
http://namenode:9870
✅ 磁盘:
✅ 目录:
/tmp✅ 副本数:
你可以直接说:
“我要 单机伪分布 HDFS 配置” 或 “生产环境 10 台机器 HDFS 怎么配”