下面给你一个在 Debian 上从零开始使用 Hadoop的实用指南,偏“能跑起来、会基本用”的路线,不堆太多原理。
sudo apt update
sudo apt upgrade -y
Hadoop 3.x 推荐 Java 8 或 11
sudo apt install openjdk-11-jdk -y
java -version
sudo adduser hadoop
sudo usermod -aG sudo hadoop
su - 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。
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 装好了。
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>
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh localhost
hdfs namenode -format
start-dfs.sh
start-yarn.sh
浏览器访问:
http://localhost:9870http://localhost:8088hdfs dfs -mkdir /test
hdfs dfs -put input/test.txt /test
hdfs dfs -ls /test
hdfs dfs -cat /test/test.txt
在 etc/hadoop/hadoop-env.sh 加:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
改 core-site.xml 里的端口
如果你愿意,我可以:
你现在是想「学原理」还是「直接跑起来」?