nigel

2023-07-16   阅读量: 240

大数据 Hadoop linux

Linux安装Hadoop的伪分布模式

扫码加入数据分析学习群

一、电脑信息

电脑版本: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

image.png

这里是已经修改过的,可以在vi 中修改。也可以参照https://www.cda.cn/discuss/post/details/649fba2a34a19c3cbf04a7c5的最后几张图片进行修改。

2.5修改hostname

[root@localhost etc]# vim /etc/hostname

image.png

输入你要设置的用户名后,esc退出插入,按:wq! 退出(注意是在root账户下)

2.6修改hosts,配置主机名映射

vim /etc/hosts

image.png

插入 Linux的ip地址 和 上一步修改完的hostname

2.7 给hostname配置sudo 权限

[root@localhost etc]# vim /etc/sudoers

image.png

2.8 安装 epel-release

[root@nigel nigel]# yum install -y epel-release

image.png

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/目录下


image.png



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行进行修改,如图所示

image.png

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














0.0000 0 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子