温馨提示×

如何入门linux hdfs配置

小樊
43
2026-10-01 14:39:23
栏目: 智能运维

下面给你一个从零入门 Linux 下 HDFS 配置的实用路线,偏向“能跑起来、能理解、能排错”。


一、先搞清楚 HDFS 是什么(避免一上来就晕)

HDFS(Hadoop Distributed File System)

  • 是 Hadoop 的分布式文件系统
  • 核心角色:
    • NameNode:管元数据(文件在哪)
    • DataNode:存真实数据
    • SecondaryNameNode:辅助 NameNode(不是备份)

入门阶段:先搭伪分布式(单台机器),再学集群。


二、环境准备(Linux)

1. 系统要求

  • Linux(CentOS / Ubuntu 都行)
  • JDK 8 或 11(Hadoop 3.x 推荐 JDK 8)
  • 单机至少 2G 内存(学习用)

2. 安装 JDK

java -version

没有就装:

# Ubuntu
sudo apt install openjdk-8-jdk

# CentOS
sudo yum install java-1.8.0-openjdk

配置 JAVA_HOME:

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

三、下载并安装 Hadoop

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

配置环境变量:

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

四、最关键的:HDFS 配置文件

重点改 3 个文件(在 $HADOOP_HOME/etc/hadoop):

1. hadoop-env.sh

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

2. core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</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/data/namenode</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/data/datanode</value>
  </property>
</configuration>

创建目录:

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

五、启动 HDFS(伪分布式)

1. 格式化 NameNode(只做一次)

hdfs namenode -format

2. 启动

start-dfs.sh

3. 检查

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

Web 页面:

http://localhost:9870

六、HDFS 基本操作(必学)

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

七、常见坑(入门必看)

❌ JAVA_HOME not set → hadoop-env.sh 没配

❌ 端口被占用 → 检查 9000 / 9870

❌ 权限问题

chown -R youruser:youruser /opt/hadoop

八、下一步学什么

✅ HDFS 原理(block、副本)
✅ Hadoop 集群(多台机器)
✅ MapReduce / YARN
✅ Hive / Spark on HDFS


如果你愿意,我可以:

  • 给你一份 一键搭建脚本
  • 或按 CentOS / Ubuntu 专项讲
  • 或直接带你 配真实 3 台机器集群

你现在是 纯入门 还是 准备面试 / 工作用?

0 踩