温馨提示×

centos能否单机配hdfs

小樊
61
2026-09-12 08:01:29
栏目: 智能运维

可以的,CentOS 单机(单节点)是可以配置 HDFS 的,而且这是学习 Hadoop / HDFS 最常见的方式之一,通常称为 单节点伪分布式(Pseudo-Distributed)模式 或 单机模式。

下面给你一个清晰说明和实践思路。


一、CentOS 单机能不能跑 HDFS?

✅ 能,常见三种模式:

  1. 本地模式(Local Mode)

    • 不使用 HDFS
    • 仅用于 MapReduce 测试
    • 不推荐用来学 HDFS
  2. 伪分布式模式(Pseudo-Distributed)✅ 推荐

    • HDFS 在单台 CentOS 上运行
    • NameNode、DataNode、SecondaryNameNode 都在同一台机器
    • 适合学习、开发、测试
  3. 真集群模式

    • 多台机器
    • 你当前问的是单机,这里不展开

二、单机运行 HDFS 的前提条件(CentOS)

1. 系统要求

  • CentOS 7 / 8(推荐 7)
  • 至少 2G 内存(4G 更舒服)
  • 关闭防火墙或放行端口(或学习时直接关)
systemctl stop firewalld
systemctl disable firewalld

2. 安装 JDK(必须)

HDFS 依赖 Java:

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

3. 创建专用用户(可选但推荐)

useradd hadoop
passwd hadoop

三、单机伪分布式 HDFS 配置示例(核心)

以 Hadoop 3.x 为例:

1. 下载并解压

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

2. 配置环境变量

export JAVA_HOME=/usr/lib/jvm/java-1.8.0
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

3. 修改核心配置

core-site.xml

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

hdfs-site.xml

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

4. 格式化 NameNode

hdfs namenode -format

5. 启动 HDFS

start-dfs.sh

6. 验证

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

浏览器访问:

http://localhost:9870

四、单机 HDFS 的常见用途

✅ 学习 HDFS 原理
✅ 测试文件上传 / 下载
✅ 开发 MapReduce / Spark
❌ 不适合生产环境


五、总结一句话

CentOS 完全可以在单机上运行 HDFS,最常用的是“伪分布式模式”,适合学习和开发,不适合生产。

如果你愿意,我可以:

  • 给你一份 完整可复制的 CentOS 安装脚本
  • 或帮你区分 单机 / 伪分布式 / 集群
  • 或讲 HDFS 在单机上为什么 replication=1

你想往哪一步走?

0 踩