下面给你一份在 Debian 下使用 Hadoop 的实用指南,从“装好”到“能跑例子”为止,偏实战,不堆概念。
Hadoop 依赖 Java:
sudo apt update
sudo apt install openjdk-11-jdk -y
检查:
java -version
sudo adduser hadoop
sudo usermod -aG sudo hadoop
su - hadoop
以 Hadoop 3.3.x 为例:
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
sudo mv hadoop-3.3.6 /opt/hadoop
配置环境变量:
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
不需要改配置,直接跑:
mkdir input
cp $HADOOP_HOME/etc/hadoop/*.xml input/
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep input output 'dfs[a-z.]+'
cat output/*
✅ 能出结果就说明 Hadoop 装好了。
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh localhost
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>
hdfs namenode -format
start-dfs.sh
查看进程:
jps
应看到:
hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/hadoop
hdfs dfs -put input /
hdfs dfs -ls /
start-yarn.sh
访问:
http://localhost:8088hdfs dfs -ls /
hdfs dfs -put file.txt /input
hdfs dfs -get /output .
hadoop jar xxx.jar 主类 输入 输出
/tmp/hadoop-*如果你愿意,我可以:
你现在是「刚装好」还是「完全没装」?