一、电脑信息
电脑版本:MacBook Pro 14 2023
处理器: M2 pro
内存 :16GB
macos:13.4
Linux :almalinux 9.1
Shell :termius
关于Linux的安装和ssh 可参照这篇文章
https://www.cda.cn/discuss/post/details/649fba2a34a19c3cbf04a7c5
Hadoop的集群搭建可以参照bilibili的这个视频 https://www.bilibili.com/video/BV1x5411177Y?vd_source=b68a713735fe58e95cc90370349f3e0e
二、hadoop本地模式安装 准备
2.1 hadoop下载
从清华镜像源下载;Index of /apache/hadoop/common/hadoop-3.3.6 (tsinghua.edu.cn)
Hadoop名称—— hadoop-3.3.6-aarch64.tar.gz
2.2 JDK 下载
从huawei镜像源下载;https://repo.huaweicloud.com/java/jdk/8u202-b08/
jdp名称 ——jdk-8u202-linux-arm64-vfp-hflt.tar.gz
2.3 进入root模式
[nigel@localhost network-scripts]$ su
密码:
[root@localhost network-scripts]#
2.4 将虚拟机ip设为静态(是almalinux的操作,与其他Linux不同)
可以参照https://www.cda.cn/discuss/post/details/649fba2a34a19c3cbf04a7c5的最后几张图片进行修改。该网址修改静态ip无需进入终端
[root@localhost network-scripts]# cd /etc/NetworkManager/system-connections/
[root@localhost system-connections]# ls
enp0s5.nmconnection
[root@localhost system-connections]# vi enp0s5.nmconnection
这里是已经修改过的,可以在vi 中修改。也可以参照https://www.cda.cn/discuss/post/details/649fba2a34a19c3cbf04a7c5的最后几张图片进行修改。
2.5修改hostname
[root@localhost etc]# vim /etc/hostname
输入你要设置的用户名后,esc退出插入,按:wq! 退出(注意是在root账户下)
2.6修改hosts,配置主机名映射
vim /etc/hosts
插入 Linux的ip地址 和 上一步修改完的hostname
2.7 给hostname配置sudo 权限
[root@localhost etc]# vim /etc/sudoers
2.8 安装 epel-release
[root@nigel nigel]# yum install -y epel-release
2.9 重启虚拟机
[root@localhost etc]# reboot
2.10 修改Mac 上的hosts
可以自行bing搜索相关方法,这里省略,不改也没关系。
三、安装hadoop 和jdk
3.1创建软件安装的文件夹,并修改所有者
重启系统后,再次进入root
[root@nigel1 opt]# cd
[root@nigel1 ~]# cd /opt/
[root@nigel1 opt]# mkdir module/software/
[root@nigel1 opt]# chown nigel:nigel module/software/
3.2 上传hadoop 和jdk
先退出root权限
[root@nigel1 opt]# exit
将下载好的文件通过SFTP 上传到linux的/opt/module/software/目录下
3.3安装JDK
需要提前检查是否已经存在java,若存在可以先卸载
[nigel@nigel1 software]$ cd /opt/module/software
[nigel@nigel1 software]$ tar -zxvf jdk-8u202-linux-arm64-vfp-hflt.tar.gz -C /opt/module/
等待解压安装即可
[nigel@nigel1 software]$ sudo vim /etc/profile.d/my_env.sh
添加下面内容
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin
使环境生效
[nigel@nigel1 software]$ source /etc/profile
检查安装的jdk版本
[nigel@nigel1 software]$ java -version
3.4安装hadoop
[nigel@nigel1 software]$ cd /opt/module/software
[nigel@nigel1 software]$ tar -zxvf hadoop-3.3.6-aarch64.tar.gz -C /opt/module/
[nigel@nigel1 software]$ sudo vim /etc/profile.d/my_env.sh
添加
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
应用环境
[nigel@nigel1 software]$ source /etc/profile
查看安装结果
[nigel@nigel1 software]$ hadoop version
Hadoop 3.3.6
Source code repository https://github.com/apache/hadoop.git -r 1be78238728da9266a4f88195058f08fd012bf9c
Compiled by ubuntu on 2023-06-18T23:15Z
Compiled on platform linux-aarch_64
Compiled with protoc 3.7.1
From source with checksum 5652179ad55f76cb287d9c633bb53bbd
This command was run using /opt/module/hadoop-3.3.6/share/hadoop/common/hadoop-common-3.3.6.jar
四、伪分布
4.1修改hadoop-env.sh
[nigel@nigel1 software]$ vim /opt/module/hadoop-3.3.6/etc/hadoop/hadoop-env.sh
在第54行进行修改,如图所示
export JAVA_HOME=/opt/module/jdk1.8.0_202/
4.2修改core-site.xml
[nigel@nigel1 software]$ vim /opt/module/hadoop-3.3.6/etc/hadoop/core-site.xml
在<configuration>与</configuration>之间添加内容:
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://nigel1:9820</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.3.6/data/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.nigel.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.nigel.groups</name>
<value>*</value>
</property>
4.3 修改hdfs-site.xml
[nigel@nigel1 software]$ vim /opt/module/hadoop-3.3.6/etc/hadoop/hdfs-site.xml
在<configuration>与</configuration>之间添加内容:
<!-- 指定HDFS副本的数量,默认为3 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
4.4修改yarn-site.xml
[nigel@nigel1 software]$ vim /opt/module/hadoop-3.3.6/etc/hadoop/yarn-site.xml
在<configuration>与</configuration>之间添加内容:
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>nigel1</value>
</property>
<!-- 环境变量 -->
<property>
<name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
4.5修改mapred-site.xml
[nigel@nigel1 software]$ vim /opt/module/hadoop-3.3.6/etc/hadoop/mapred-site.xml
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
4.6格式化NameNode
请先删除hadoop-3.3.6/data目录和hadoop-3.3.6/logs目录
[nigel@nigel1 software]$ rm -rf /opt/module/hadoop-3.3.6/data/ /opt/module/hadoop-3.3.6/logs/
格式化
[nigel@nigel1 software]$ hdfs namenode -format
5.免密登陆
[nigel@nigel1 software]$ ssh-keygen -t rsa
然后按好几下回车
[nigel@nigel1 software]$ ssh-copy-id nigel1
输入密码
切换root账户
[nigel@nigel1 software]$ su
密码:
[root@nigel1 software]# ssh-keygen -t rsa
[root@nigel1 software]# ssh-copy-id nigel1
[root@nigel1 software]# exit
暂无数据