温馨提示×

centos下hdfs怎么配置

小樊
36
2026-10-03 11:14:44
栏目: 智能运维

下面以 CentOS 7/8 为例,系统性地说明 HDFS(Hadoop 分布式文件系统) 的基本配置流程。假设你要搭建一个 单 NameNode + 多 DataNode 的伪分布式或完全分布式环境。


一、环境准备(所有节点)

1. 安装 JDK

HDFS 依赖 Java:

yum install -y java-1.8.0-openjdk-devel
java -version

配置 JAVA_HOME:

vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile

2. 创建 Hadoop 用户(推荐)

useradd hadoop
passwd hadoop

3. 配置主机名与 hosts

hostnamectl set-hostname namenode

/etc/hosts 示例:

192.168.1.10 namenode
192.168.1.11 datanode1
192.168.1.12 datanode2

4. 配置 SSH 免密(NameNode → DataNode)

su - hadoop
ssh-keygen -t rsa
ssh-copy-id datanode1
ssh-copy-id datanode2

二、安装 Hadoop

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz -C /opt
mv /opt/hadoop-3.3.6 /opt/hadoop

配置环境变量:

vi /etc/profile
export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source /etc/profile

三、HDFS 核心配置文件

配置文件路径:

cd $HADOOP_HOME/etc/hadoop

1. hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HDFS_NAMENODE_USER=hadoop
export HDFS_DATANODE_USER=hadoop
export HDFS_SECONDARYNAMENODE_USER=hadoop

2. core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://namenode:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp</value>
  </property>
</configuration>

3. hdfs-site.xml

伪分布式示例

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/dfs/data</value>
  </property>
</configuration>

完全分布式(示例)

<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>

4. workers(Hadoop 3.x)

vi workers
datanode1
datanode2

(伪分布式写 localhost)


四、启动 HDFS

1. 格式化 NameNode(仅第一次)

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 验证

jps

正常应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

Web UI:

http://namenode:9870

五、常用 HDFS 命令

hdfs dfs -mkdir /test
hdfs dfs -put file.txt /test
hdfs dfs -ls /
hdfs dfs -cat /test/file.txt

六、常见问题

1. 权限问题

chown -R hadoop:hadoop /opt/hadoop

2. 防火墙

systemctl stop firewalld
systemctl disable firewalld

3. 端口不通

检查:

  • 9000(RPC)
  • 9870(Web)

如果你需要:

  • 伪分布式完整配置
  • HA(高可用)配置
  • CentOS + Docker 部署
  • 生产环境参数优化

可以直接告诉我你的使用场景。

0 踩