温馨提示×

centos怎样设置hdfs参数

小樊
48
2026-09-24 16:38:27
栏目: 智能运维

在 CentOS 上设置 HDFS 参数,本质上是修改 Hadoop 的配置文件(主要是 hdfs-site.xml、core-site.xml 等),然后使配置生效。下面按常见场景给你一个完整说明。


一、HDFS 配置文件位置

通常 Hadoop 安装在:

/usr/local/hadoop
# 或
/opt/hadoop

HDFS 相关配置文件在:

$HADOOP_HOME/etc/hadoop/

常见文件:

  • core-site.xml:全局配置(如 NameNode 地址)
  • hdfs-site.xml:HDFS 专属参数
  • hadoop-env.sh:环境变量(JAVA_HOME 等)

二、修改 HDFS 参数(以 hdfs-site.xml 为例)

1. 编辑配置文件

vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml

2. 示例:常见 HDFS 参数

<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>

三、core-site.xml(必须配置)

vim $HADOOP_HOME/etc/hadoop/core-site.xml

示例:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode:9000</value>
    </property>
</configuration>

四、使配置生效

1. 如果是首次启动

hdfs namenode -format
start-dfs.sh

2. 如果 HDFS 已在运行

修改参数后需要重启:

stop-dfs.sh
start-dfs.sh

⚠️ 注意:

  • dfs.replication、blocksize 修改后,只对新建文件生效
  • 已存在文件不会自动变更

五、常见 CentOS 相关注意点

1. 防火墙(CentOS 7+)

systemctl stop firewalld
systemctl disable firewalld

或开放端口:

firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --reload

2. SELinux(建议关闭)

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3. 目录权限

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

如果你能告诉我:

  • ✅ Hadoop 版本(2.x / 3.x)
  • ✅ 单机还是集群
  • ✅ 想改哪个具体参数(如副本、块大小、垃圾回收)

我可以给你更精确的配置示例。

0 踩