简介
安装
使用 Termux Proot-distro 容器 ubuntu-24.04 版本进行安装
切换 root (su)后更新
apt update && apt upgrade
jdk 版本查看并切换
update-alternatives --list java
update-alternatives --config java
创建新用户
useradd -m hadoop
passwd hadoop
切换 hadoop 用户并输入密码
su - hadoop
下载 hadoop 二进制包(aarch64)
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.5.0/hadoop-3.5.0-aarch64.tar.gz
解压并移动
tar -zxvf hadoop-3.5.0-aarch64.tar.gz
mv hadoop-3.5.0-aarch64 ~/hadoop
配置环境变量
export HADOOP_HOME=$HOME/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64
添加环境变量到 hadoop-env.sh
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
配置 ssh 免密
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
测试免密登录
ssh localhost
hadoop 配置
打开 core-site.xml
nvim $HADOOP_HOME/etc/hadoop/core-site.xml
写入
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///home/hadoop/hadoop‑tmp</value>
</property>
</configuration>
打开 hdfs‑site.xml
nvim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
写入
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
打开 mapred‑site.xml
nvim $HADOOP_HOME/etc/hadoop/mapred-site.xml
写入
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop</value>
</property>
</configuration>
打开 yarn-site.xml
nvim $HADOOP_HOME/etc/hadoop/yarn-site.xml
写入
<configuration>
<property>
<name>yarn.nodemanager.aux‑services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
格式化 hdfs
hdfs namenode -format
启动集群(Termux ssh 22 端口报错)
start‑all.sh
# 查看进程
jps
# 停止集群
stop‑all.sh
使用下面启动
hdfs --daemon start namenode
hdfs --daemon start datanode
hdfs --daemon start secondarynamenode
yarn --daemon start resourcemanager
yarn --daemon start nodemanager
使用下面关闭
hdfs --daemon stop namenode
hdfs --daemon stop datanode
hdfs --daemon stop secondarynamenode
yarn --daemon stop resourcemanager
yarn --daemon stop nodemanager
在浏览器打开 8088 和 9870 端口
http://localhost:9870
http://localhost:8088
课堂安装配置 Hadood
hosts 修改映射 ip-用户,然后 ssh 无密。
下载安装 jdk,hadoop,并写入环境变量。
配置 hadoop 文件 .xml .sh workers 等。
启动。
修改 ip 映射
echo -e '192.168.34.143 master\n192.168.47.176 slave1\n192.168.36.107 slave2' >> /etc/hosts
配置 ssh (略)
解压文件
tar -zxvf /home/software/jdk-8u212-linux-x64.tar.gz -C /home/java/
echo 'export JAVA_HOME=/home/java/jdk1.8.0_212' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> ~/etc/profile
复制配置文件
scp -r /home/java/ root@slave1:/home/
scp -r /home/java/ root@slave2:/home/
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
java -version
安装脚本
echo -e '192.168.34.143 master\n192.168.47.176 slave1\n192.168.36.107 slave2' >> /etc/hosts
echo 'tar -zxvf /home/software/jdk-8u212-linux-x64.tar.gz -C /home/java/'
mkdir -p /home/java
tar -zxvf /home/software/jdk-8u212-linux-x64.tar.gz -C /home/java/
echo 'export JAVA_HOME=/home/java/jdk1.8.0_212' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo 'scp -r /home/java/ root@slave1:/home/ \n scp -r /home/java/ root@slave2:/home/'
scp -r /home/java/ root@slave1:/home/
scp -r /home/java/ root@slave2:/home/
echo 'scp -r /etc/profile root@slave1:/etc/ \n scp -r /etc/profile root@slave2:/etc/'
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
java -version