温馨提示×

如何在Debian上装Hadoop

小樊
36
2026-07-07 06:54:10
栏目: 智能运维

以下是在 Debian 上安装 Apache Hadoop(单机/伪分布式) 的完整流程,适合学习和开发环境。生产集群建议结合 ZooKeeper、HA 等配置。


一、环境准备

1. 系统要求

  • Debian 10 / 11 / 12(64 位)
  • 至少 2GB 内存(推荐 4GB+)
  • 已配置 sudo 的用户

2. 更新系统

sudo apt update
sudo apt upgrade -y

二、安装 Java(Hadoop 依赖)

Hadoop 需要 Java 8 或 Java 11

安装 OpenJDK 11

sudo apt install openjdk-11-jdk -y

验证

java -version

设置 JAVA_HOME

编辑:

sudo nano /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

前往:https://hadoop.apache.org/releases.html
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. 设置权限

sudo chown -R hadoop:hadoop /usr/local/hadoop

五、配置 Hadoop 环境变量

编辑:

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
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

生效:

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

4. 测试

ssh localhost

七、Hadoop 配置(伪分布式)

1. core-site.xml

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

2. hdfs-site.xml

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

3. mapred-site.xml

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

4. 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

九、启动 Hadoop

start-dfs.sh
start-yarn.sh

查看进程

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode
  • ResourceManager
  • NodeManager

十、访问 Web UI

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

十一、测试 Hadoop

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

十二、停止 Hadoop

stop-yarn.sh
stop-dfs.sh

常见问题

1. JAVA_HOME 报错

确认:

echo $JAVA_HOME

并在:

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

中设置:

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

2. 端口被占用

检查:

netstat -tunlp

如果你需要:

  • 完全分布式集群
  • 使用 Debian + Docker
  • 指定 Hadoop 版本
  • 生产环境优化

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

0