温馨提示×

hadoop在debian咋用

小樊
42
2026-09-02 11:47:05
栏目: 智能运维

下面给你一个在 Debian 上从零开始使用 Hadoop的实用指南,偏“能跑起来、会基本用”的路线,不堆太多原理。


一、环境准备(Debian)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Java(Hadoop 必需)

Hadoop 3.x 推荐 Java 8 或 11

sudo apt install openjdk-11-jdk -y
java -version

二、创建 Hadoop 用户(推荐)

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

三、下载并安装 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 HADOOP_HOME=~/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))

生效:

source ~/.bashrc

五、单机模式(最简单,适合学习)

Hadoop 默认就是单机模式,不用配置任何 XML。

测试 WordCount

mkdir input
echo "hello world hello hadoop" > input/test.txt

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

cat output/part-r-00000

✅ 能出结果就说明 Hadoop 装好了。


六、伪分布式模式(常用学习模式)

1. 修改配置文件

etc/hadoop/core-site.xml

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

etc/hadoop/hdfs-site.xml

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

etc/hadoop/mapred-site.xml

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

etc/hadoop/yarn-site.xml

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

2. 配置 SSH(必须)

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

3. 格式化并启动

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

4. 验证

浏览器访问:

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

七、HDFS 基本用法

hdfs dfs -mkdir /test
hdfs dfs -put input/test.txt /test
hdfs dfs -ls /test
hdfs dfs -cat /test/test.txt

八、常见问题

1. JAVA_HOME 报错

etc/hadoop/hadoop-env.sh 加:

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

2. 端口被占用

core-site.xml 里的端口


九、你接下来可以学什么

  • HDFS 原理
  • MapReduce 编程
  • Hive / Spark on Hadoop
  • 真集群部署(多台 Debian)

如果你愿意,我可以:

  • 给你 一步一步命令版
  • 帮你 写 WordCount Java 程序
  • 或按你是 学习 / 面试 / 生产 来定制方案

你现在是想「学原理」还是「直接跑起来」?

0