温馨提示×

Debian怎么运行Hadoop

小樊
44
2026-08-02 11:41:17
栏目: 智能运维

Debian 上运行 Hadoop,通常有两种常见方式:

  1. 单机 / 伪分布式模式(学习、开发)
  2. 完全分布式模式(生产集群)

下面以 Debian 11/12 + Hadoop 3.x 为例,给你一个从零开始的完整流程(伪分布式),这是最常见、最适合入门的方式。


一、准备环境

1️⃣ 安装 Debian 基础工具

sudo apt update
sudo apt install -y wget curl vim net-tools

2️⃣ 安装 Java(Hadoop 依赖)

Hadoop 3.x 推荐使用 Java 8 或 Java 11

sudo apt install -y openjdk-11-jdk

验证:

java -version

3️⃣ 配置 JAVA_HOME

编辑环境变量:

sudo vim /etc/environment

添加:

JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

生效:

source /etc/environment
echo $JAVA_HOME

二、创建 Hadoop 用户(推荐)

sudo adduser hadoop
sudo usermod -aG sudo hadoop
su - hadoop

三、下载并安装 Hadoop

1️⃣ 下载 Hadoop

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

2️⃣ 解压

tar -xzvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 ~/hadoop

四、配置 Hadoop 环境变量

编辑:

vim ~/.bashrc

添加:

export HADOOP_HOME=~/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

生效:

source ~/.bashrc

验证:

hadoop version

五、配置 SSH(必须)

Hadoop 使用 SSH 启动节点。

1️⃣ 安装 SSH

sudo apt install -y openssh-server

2️⃣ 免密登录本机

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

测试:

ssh localhost

六、Hadoop 伪分布式配置

进入配置目录:

cd $HADOOP_HOME/etc/hadoop

1️⃣ hadoop-env.sh

vim hadoop-env.sh

添加:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

2️⃣ core-site.xml

vim core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

3️⃣ hdfs-site.xml

vim hdfs-site.xml
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

4️⃣ mapred-site.xml

vim mapred-site.xml
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

5️⃣ yarn-site.xml

vim yarn-site.xml
<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

七、格式化 HDFS(只一次)

hdfs namenode -format

✅ 出现 successfully formatted 表示成功


八、启动 Hadoop

start-dfs.sh
start-yarn.sh

查看进程:

jps

应看到:

NameNode
DataNode
SecondaryNameNode
ResourceManager
NodeManager

九、访问 Web UI

服务 地址
HDFS http://localhost:9870
YARN http://localhost:8088

十、运行示例测试

hdfs dfs -mkdir /input
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input

运行 MapReduce 示例:

yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output

查看结果:

hdfs dfs -cat /output/part-r-00000

十一、停止 Hadoop

stop-yarn.sh
stop-dfs.sh

常见问题

❌ JAVA_HOME 找不到

→ 检查 hadoop-env.sh 里的 JAVA_HOME

❌ ssh localhost 失败

→ 检查 openssh-server 是否启动

❌ 端口被占用

netstat -tunlp | grep 9000

十二、后续建议

✅ 学习 HDFS 命令
✅ 学习 MapReduce / Spark
✅ 尝试 Docker / 完全分布式


如果你愿意,我可以帮你:

  • 写 Debian + Hadoop 一键脚本
  • 部署完全分布式集群
  • Hadoop + Spark 集成
  • 解决你当前报错

你现在是 学习 / 实验 / 生产 哪种用途?

0