在 Debian 上启动 Hadoop,通常分 单机(Local)、伪分布式(Pseudo-Distributed) 和 完全分布式 三种情况。下面给你一套最常见的伪分布式启动流程(适合学习/测试),并说明 Debian 上的注意事项。
sudo apt update
sudo apt install openjdk-11-jdk -y
验证:
java -version
设置 JAVA_HOME(编辑 ~/.bashrc):
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
sudo adduser hadoop
sudo usermod -aG sudo hadoop
su - hadoop
sudo apt install openssh-server openssh-client -y
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
测试:
ssh localhost
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=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
生效:
source ~/.bashrc
以下配置文件均在:
$HADOOP_HOME/etc/hadoop/
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop/hadoop_data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoop/hadoop_data/datanode</value>
</property>
</configuration>
创建目录:
mkdir -p ~/hadoop_data/namenode
mkdir -p ~/hadoop_data/datanode
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
hdfs namenode -format
⚠️ 不要重复执行
start-dfs.sh
start-yarn.sh
jps
应看到类似:
NameNode
DataNode
SecondaryNameNode
ResourceManager
NodeManager
Web UI:
stop-yarn.sh
stop-dfs.sh
sudo systemctl enable --now ssh
确认:
echo $JAVA_HOME
netstat -tunlp | grep 9000
告诉我你的使用场景,我可以直接给你定制方案。