温馨提示×

CentOS怎样配置HDFS

小樊
42
2026-07-09 18:04:51
栏目: 智能运维

CentOS 上配置 HDFS(Hadoop Distributed File System),通常是以 Hadoop 伪分布式模式(Pseudo-Distributed Mode)完全分布式模式(Fully Distributed Mode) 来部署。下面我给你一个 从零开始的 CentOS + HDFS(伪分布式)配置示例,适合学习和测试环境。


一、环境准备

1. 系统要求

  • CentOS 7 / 8(推荐 7)
  • Java 8(Hadoop 3.x 推荐)
  • 至少 2GB 内存
  • 已配置 静态 IP

2. 关闭防火墙(测试环境)

systemctl stop firewalld
systemctl disable firewalld

3. 配置主机名和 hosts

hostnamectl set-hostname hadoop01

编辑 /etc/hosts

192.168.1.100 hadoop01

二、安装 Java

1. 安装 JDK

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

2. 验证

java -version

3. 配置 JAVA_HOME

vim /etc/profile

添加:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH

生效:

source /etc/profile

三、创建 Hadoop 用户(推荐)

useradd hadoop
passwd hadoop

切换用户:

su - hadoop

四、安装 Hadoop

1. 下载 Hadoop

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

2. 解压

tar -zxvf hadoop-3.3.6.tar.gz -C /opt/
mv /opt/hadoop-3.3.6 /opt/hadoop

3. 配置环境变量

vim ~/.bashrc

添加:

export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

生效:

source ~/.bashrc

五、配置 HDFS(核心步骤)

1. hadoop-env.sh

vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

设置:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

2. core-site.xml

vim $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop01:9000</value>
  </property>

  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp</value>
  </property>
</configuration>

3. hdfs-site.xml

vim $HADOOP_HOME/etc/hadoop/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>

六、配置 SSH 免密登录(必须)

ssh-keygen -t rsa
ssh-copy-id hadoop01

测试:

ssh hadoop01

七、格式化 HDFS

⚠️ 只执行一次

hdfs namenode -format

八、启动 HDFS

start-dfs.sh

检查进程:

jps

应看到:

NameNode
DataNode
SecondaryNameNode

九、访问 HDFS Web UI

浏览器访问:

http://hadoop01:9870

十、测试 HDFS

hdfs dfs -mkdir /test
hdfs dfs -put /etc/hosts /test
hdfs dfs -ls /test

十一、常见问题

1. NameNode 起不来

  • 检查 hadoop.tmp.dir 是否有权限
  • 是否重复格式化

2. 端口被占用

netstat -tunlp | grep 9000

3. 权限问题

chown -R hadoop:hadoop /opt/hadoop

十二、完全分布式(简要说明)

如果是 多节点 HDFS

  • 多个节点配置相同 Hadoop
  • hdfs-site.xmldfs.replication > 1
  • workers 文件配置 DataNode 节点
  • SSH 免密互通

如果你需要:

  • 完全分布式 HDFS 配置
  • HDFS + YARN
  • 生产环境参数优化
  • Hadoop 高可用(HA)

可以直接告诉我你的 节点数量和用途

0