温馨提示×

linux hdfs怎么搭环境

小樊
37
2026-09-16 17:59:14
栏目: 智能运维

下面给你一个从零在 Linux 上搭建 HDFS(Hadoop 分布式文件系统)环境的实用指南,适合单机伪分布式(最常用、最容易上手),也会简单说一下完全分布式的思路。


一、环境准备(Linux)

1. 系统要求

  • Linux(CentOS / Ubuntu / Rocky 等均可)
  • JDK 8 或 JDK 11(Hadoop 3.x 推荐 JDK 8)
  • 一台机器(伪分布式)或多台(完全分布式)

2. 安装 JDK

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

# Ubuntu
apt install -y openjdk-8-jdk

验证:

java -version

二、创建 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
tar -zxvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 /opt/hadoop

2. 配置环境变量

vi ~/.bashrc

添加:

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

生效:

source ~/.bashrc

四、SSH 免密登录(必须)

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

测试:

ssh localhost

五、配置 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>
  <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>

六、格式化并启动 HDFS

1. 格式化 NameNode

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 检查进程

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

七、验证 HDFS

hdfs dfs -mkdir /test
hdfs dfs -put ~/.bashrc /test
hdfs dfs -ls /test

Web 页面:

http://localhost:9870

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

如果是多台机器:

  • 多台机器配置相同 Hadoop
  • core-site.xmlfs.defaultFS 指向 NameNode 主机名
  • hdfs-site.xml 中:
    • NameNode / DataNode 目录分开
  • workers 文件配置 DataNode 主机
  • SSH 互相免密
  • 只在 NameNode 执行 hdfs namenode -format

九、常见问题

1. Permission denied

chown -R hadoop:hadoop /opt/hadoop

2. Java_HOME 未找到

确认 hadoop-env.sh 中 Java 路径正确

3. 端口被占用

检查 9000 / 9870 端口


如果你愿意,我可以:

  • 给你一整套 可复制的 shell 脚本
  • 帮你搭 Hadoop + YARN
  • 或按 CentOS / Ubuntu 单独写一份

你现在是 学习 / 面试 / 生产环境 用?

0