温馨提示×

CentOS HDFS配置如何启动

小樊
43
2026-08-31 05:04:36
栏目: 智能运维

下面给出 CentOS 上启动 HDFS(Hadoop HDFS) 的常见配置与启动流程,适用于 单机伪分布式完全分布式 场景。


一、前提条件

1. 安装 Java

Hadoop 依赖 JDK:

java -version

如未安装(示例):

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

配置 JAVA_HOME

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

建议写入:

vi ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc

2. 安装 Hadoop

tar -zxvf hadoop-3.x.x.tar.gz -C /usr/local/
mv /usr/local/hadoop-3.x.x /usr/local/hadoop

配置环境变量:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

二、HDFS 核心配置文件(关键)

以下文件都在 $HADOOP_HOME/etc/hadoop 目录。


1. hadoop-env.sh

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

2. core-site.xml

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

完全分布式时,localhost 改为 NameNode 主机名或 IP。


3. hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>

  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/data/hadoop/namenode</value>
  </property>

  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/data/hadoop/datanode</value>
  </property>
</configuration>

创建目录:

mkdir -p /data/hadoop/namenode
mkdir -p /data/hadoop/datanode

4. workers(Hadoop 3)

vi $HADOOP_HOME/etc/hadoop/workers

内容:

localhost

若是集群,写 DataNode 主机名


三、格式化 HDFS(只需一次)

⚠️ 不要在已有数据后重复执行

hdfs namenode -format

成功标志:

Storage directory /data/hadoop/namenode has been successfully formatted

四、启动 HDFS

方式一:一次性启动(推荐)

start-dfs.sh

方式二:单独启动

hdfs --daemon start namenode
hdfs --daemon start datanode

五、验证 HDFS 是否启动成功

1. 查看进程

jps

应看到:

NameNode
DataNode
SecondaryNameNode

2. 访问 Web UI

  • NameNode UI:
http://服务器IP:9870

3. HDFS 基本测试

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

六、常见问题(CentOS 常见)

1. 防火墙未关闭

systemctl stop firewalld
systemctl disable firewalld

2. SSH 无法免密登录

ssh-keygen -t rsa
ssh-copy-id localhost

3. 端口被占用

netstat -tunlp | grep 9000

七、总结启动流程

# 1. 配置 Java、Hadoop 环境变量
# 2. 修改 core-site.xml、hdfs-site.xml
# 3. 格式化 HDFS
hdfs namenode -format

# 4. 启动 HDFS
start-dfs.sh

# 5. 验证
jps
http://IP:9870

如果你需要:

  • 完全分布式部署
  • HA(高可用)HDFS
  • Hadoop 3 + CentOS 7/8 实战
  • 与 YARN / Hive / Spark 集成

可以直接告诉我你的集群规划(几台机器)。

0