在 CentOS 上设置 HDFS 参数,本质上是修改 Hadoop 的配置文件(主要是 hdfs-site.xml、core-site.xml 等),然后使配置生效。下面按常见场景给你一个完整说明。
通常 Hadoop 安装在:
/usr/local/hadoop
# 或
/opt/hadoop
HDFS 相关配置文件在:
$HADOOP_HOME/etc/hadoop/
常见文件:
core-site.xml:全局配置(如 NameNode 地址)hdfs-site.xml:HDFS 专属参数hadoop-env.sh:环境变量(JAVA_HOME 等)vim $HADOOP_HOME/etc/hadoop/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>
</configuration>
vim $HADOOP_HOME/etc/hadoop/core-site.xml
示例:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
hdfs namenode -format
start-dfs.sh
修改参数后需要重启:
stop-dfs.sh
start-dfs.sh
⚠️ 注意:
systemctl stop firewalld
systemctl disable firewalld
或开放端口:
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --reload
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
mkdir -p /data/hadoop/namenode
mkdir -p /data/hadoop/datanode
chown -R hadoop:hadoop /data/hadoop
hdfs getconf -confKey dfs.replication
hdfs dfsadmin -report
或网页查看:
http://namenode:9870
如果你能告诉我:
我可以给你更精确的配置示例。