温馨提示×

怎样在debian跑hadoop

小樊
39
2026-10-23 01:12:02
栏目: 智能运维

在 Debian 上运行 Hadoop,通常有两种常见方式:单机/伪分布式(学习用) 和 完全分布式集群(生产/实验)。下面我先给你一个最实用、最容易成功的 Debian 上跑 Hadoop 步骤(伪分布式),再补充集群思路。


一、环境准备(Debian)

1. 系统要求

  • Debian 11 / 12(推荐)
  • 用户:不要用 root 跑 Hadoop
  • 内存:≥ 2GB(伪分布式)

2. 安装基础依赖

sudo apt update
sudo apt install -y openjdk-11-jdk ssh pdsh

检查 Java:

java -version

二、创建 Hadoop 用户(推荐)

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

三、配置 SSH 免密登录(必须)

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

ssh localhost

能直接登录成功说明 OK。


四、下载并安装 Hadoop

以 Hadoop 3.3.6 为例:

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

五、配置环境变量

编辑 ~/.bashrc:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效:

source ~/.bashrc

六、伪分布式配置(最常用)

1. core-site.xml

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

2. hdfs-site.xml

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

3. mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

4. yarn-site.xml

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

七、格式化并启动 Hadoop

hdfs namenode -format
start-dfs.sh
start-yarn.sh

检查进程:

jps

应看到:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager

八、测试 Hadoop

hdfs dfs -mkdir /input
hdfs dfs -put ~/hadoop/etc/hadoop/*.xml /input
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output
hdfs dfs -cat /output/part-r-00000

九、Web 界面

  • HDFS: http://localhost:9870
  • YARN: http://localhost:8088

十、完全分布式(简要)

如果是多台 Debian 机器:

  • 一台 NameNode + 多台 DataNode
  • 配置 workers 文件
  • 所有节点:
    • 相同用户
    • 相同 Hadoop 目录
    • 互相 SSH 免密

常见问题

1. Permission denied (publickey)

→ SSH 没配好

2. Java path 错

→ 检查 JAVA_HOME

3. Debian 防火墙

sudo ufw disable

如果你愿意,我可以:

  • 给你 一键安装脚本
  • 帮你配 Docker 跑 Hadoop
  • 或按 你的 Debian 版本 + 用途 定制方案

你现在是学习还是做项目?

0 踩