温馨提示×

如何安装linux hdfs

小樊
42
2026-07-15 00:28:18
栏目: 智能运维

下面按从零开始的思路,给你一个**在 Linux 上安装 HDFS(Hadoop 分布式文件系统)**的清晰步骤。内容兼顾 单机伪分布式真正的分布式集群,你可以按需选择。


一、环境准备(必做)

1️⃣ 系统要求

  • Linux(CentOS 7 / Rocky / Ubuntu 20.04+ 均可)
  • Java 8 或 Java 11(推荐 Java 8)
  • SSH(集群必须)
  • 至少 2GB 内存(伪分布式)

2️⃣ 安装 Java

# CentOS / Rocky
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

# Ubuntu
apt install -y openjdk-8-jdk

检查:

java -version

3️⃣ 创建 Hadoop 用户(推荐)

useradd -m hadoop
passwd hadoop
su - hadoop

二、下载并安装 Hadoop

1️⃣ 下载 Hadoop

cd ~
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 hadoop

2️⃣ 配置环境变量

编辑 ~/.bashrc

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

生效:

source ~/.bashrc

三、配置 HDFS(重点)

1️⃣ 修改 hadoop-env.sh

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

添加或修改:

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

2️⃣ core-site.xml

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

3️⃣ hdfs-site.xml

vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

✅ 伪分布式(适合学习)

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

✅ 分布式(生产)

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

四、SSH 免密登录(必须)

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

测试:

ssh localhost

五、格式化 HDFS(⚠ 只做一次)

hdfs namenode -format

六、启动 HDFS

start-dfs.sh

检查进程:

jps

应看到:

NameNode
DataNode
SecondaryNameNode

七、验证 HDFS

1️⃣ 访问 Web UI

http://<服务器IP>:9870

2️⃣ 测试 HDFS 命令

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

八、分布式集群(简要说明)

1️⃣ 准备多台机器

  • 1 台 NameNode
  • 多台 DataNode

2️⃣ 配置 workers(Hadoop 3)

vi $HADOOP_HOME/etc/hadoop/workers

写入:

datanode1
datanode2

3️⃣ 所有节点:

  • 相同 Hadoop 版本
  • 相同 Java
  • 相同用户
  • 互相 SSH 免密

九、常见问题

❌ JAVA_HOME 找不到

echo $JAVA_HOME

并在 hadoop-env.sh 明确指定

❌ 端口被占用

netstat -tunlp | grep 9000

❌ 权限问题

chown -R hadoop:hadoop ~/hadoop

十、总结一句话

HDFS 安装 = Java + Hadoop + SSH + 格式化 + 启动


如果你愿意,我可以:

  • ✅ 给你 完整生产级集群部署方案
  • ✅ 帮你 排查具体报错
  • ✅ 给你 HDFS + YARN 一起安装
  • ✅ 写 自动化安装脚本

直接告诉我你的 Linux 版本和使用场景即可。

0