温馨提示×

Debian怎么搭建Hadoop

小樊
38
2026-07-18 17:23:00
栏目: 智能运维

下面给你一个在 Debian 上从零搭建 Hadoop(单机 / 伪分布式)的完整示例,适合学习、测试。如果你需要完全分布式集群,我也可以再补充。


一、环境准备

1. 系统要求

  • Debian 10 / 11 / 12(推荐 64 位)
  • 至少 4GB 内存(伪分布式)
  • Java 8(Hadoop 3.x 官方推荐)

查看系统:

cat /etc/debian_version

二、安装 Java(JDK)

1. 安装 OpenJDK 8

sudo apt update
sudo apt install openjdk-8-jdk -y

2. 验证 Java

java -version

输出类似:

openjdk version "1.8.0_392"

3. 设置 JAVA_HOME

编辑:

sudo nano /etc/environment

添加:

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

生效:

source /etc/environment
echo $JAVA_HOME

三、创建 Hadoop 用户(推荐)

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

四、下载并安装 Hadoop

1. 下载 Hadoop

Hadoop 3.3.6 为例:

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
sudo mv hadoop-3.3.6 /usr/local/hadoop

3. 设置环境变量

编辑:

nano ~/.bashrc

添加:

export HADOOP_HOME=/usr/local/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 openssh-server -y

2. 生成密钥

ssh-keygen -t rsa

一路回车即可。

3. 配置免密登录

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

测试:

ssh localhost

能直接登录即成功。


六、Hadoop 伪分布式配置

1. 配置 hadoop-env.sh

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

添加或修改:

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

2. 配置 core-site.xml

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

3. 配置 hdfs-site.xml

nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

4. 配置 mapred-site.xml

nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

5. 配置 yarn-site.xml

nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

七、格式化 HDFS(仅第一次)

hdfs namenode -format

看到 successfully formatted 即可。


八、启动 Hadoop

1. 启动 HDFS

start-dfs.sh

2. 启动 YARN

start-yarn.sh

3. 查看进程

jps

应看到:

NameNode
DataNode
SecondaryNameNode
ResourceManager
NodeManager

九、访问 Web UI

  • HDFS:
    http://localhost:9870

  • YARN:
    http://localhost:8088


十、测试 Hadoop

创建目录

hdfs dfs -mkdir /input

上传文件

hdfs dfs -put /etc/hosts /input

运行示例

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

十一、关闭 Hadoop

stop-yarn.sh
stop-dfs.sh

十二、常见问题

1. JAVA_HOME 报错

✅ 必须在 hadoop-env.sh 中显式设置

2. 端口被占用

netstat -tunlp | grep 9000

3. 启动失败

查看日志:

$HADOOP_HOME/logs/

如果你需要:

  • 完全分布式集群(多台 Debian)
  • Hadoop + Hive / Spark
  • 生产环境优化

告诉我你的使用场景,我可以给你定制方案。

0