温馨提示×

Debian下Hadoop怎么配置

小樊
41
2026-07-07 07:05:08
栏目: 智能运维

Debian 下配置 Hadoop,通常分为 单机伪分布式(Pseudo-Distributed)完全分布式(Fully Distributed) 两种。下面以 Hadoop 3.x + Debian 11/12 为例,给你一套可实际操作的完整流程(最常用的是伪分布式,适合学习和开发)。


一、环境准备(Debian)

1. 安装 JDK(必须)

Hadoop 依赖 Java:

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

验证:

java -version

2. 创建 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. 解压并移动到 /opt

tar -xzvf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /opt/hadoop
sudo chown -R hadoop:hadoop /opt/hadoop

三、配置环境变量

编辑 ~/.bashrc

nano ~/.bashrc

添加:

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

生效:

source ~/.bashrc

验证:

hadoop version

四、SSH 免密登录(必须)

Hadoop 需要通过 SSH 启动节点:

sudo apt install ssh
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

nano hadoop-env.sh

设置 Java 路径:

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

2. core-site.xml

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

3. hdfs-site.xml

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

4. mapred-site.xml

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

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

八、验证 Hadoop

1. HDFS Web UI

http://localhost:9870

2. YARN Web UI

http://localhost:8088

九、运行测试任务

hdfs dfs -mkdir /input
hdfs dfs -put $HADOOP_HOME/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/*

十、常见问题

1. JAVA_HOME 报错

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

2. 端口被占用

netstat -tunlp | grep 9000

3. 权限问题

sudo chown -R hadoop:hadoop /opt/hadoop

十一、完全分布式(简略说明)

如果你需要 多节点集群,需要:

  • 多台 Debian 主机
  • 配置 workers 文件
  • 所有节点 SSH 互通
  • fs.defaultFS 指向 NameNode 主机名

如果你愿意,我可以: ✅ 给你 Debian + Hadoop 完全分布式 配置
✅ 帮你 排查启动报错
✅ 给你 生产环境参数优化建议

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

0