Hadoop之完全分布式集群(保姆级教程)

Hadoop之完全分布式集群(保姆级教程)

环境介绍

虚拟机版本 → VMware Workstation16 PRO

镜像版本 → CentOS-7-x86_64-Minimal-2003

远程连接工具 → FinalShell 3.6.3

环境:	
​			 ①已关闭防火墙selinux

​			 ②NAT模式, 静态ip: 192.168.8.101

​			 ③主机名: master(域名映射关系已建立)

​			 ④jdk与hadoop已安装并配置环境变量

即:处于hadoop本地模式

可以参考我之前的Hadoop之本地模式(保姆级教程)

补充

[root@master ~]# vim /etc/hosts
** 在打开的文件中添加以下内容↓
			192.168.8.101 master
			192.168.8.102 slave1
			192.168.8.103 slave2
			
[root@master ~]# vim /etc/hostname
** 在打开的文件中添加以下内容↓
			master

在这里插入图片描述

在这里插入图片描述

配置SSH免密登录

在这里插入图片描述

在这里插入图片描述

#--> ①生成公钥和私钥
[root@master ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

#--> ②传递公钥
[root@master ~]# cat id_rsa.pub >> ~/.ssh/authorized_keys

#--> ③尝试登录
[root@master ~]# ssh master
(第一次登录要输一次yes, 以后就不需要了)

配置文件

配置hadoop-env.sh文件和yarn-env.sh文件
:如果前面配置过jdk和hadoop的环境变量就不需要进行这步

#hadoop-env.sh
export JAVA_HOME=/opt/jdk
#yarn-env.sh
export JAVA_HOME=/opt/jdk

在这里插入图片描述

先进入到这个目录下, 方便我们后续的操作cd $HADOOP_HOME/etc/hadoop

配置core-site.xml文件

vim core-site.xml打开该配置文件

在这里插入图片描述

在这里插入图片描述

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.8.101:8020/</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/apps/hadoop/tmp</value>
    </property>
</configuration>

复制配置信息后保存退出

配置hdfs-site.xml文件

vim hdfs-site.xml打开该配置文件
在这里插入图片描述

在这里插入图片描述

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///opt/apps/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///opt/apps/hadoop/tmp/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.blocksize</name>
        <value>134217728</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slave1:50090</value>
    </property>
</configuration>

复制配置信息后保存退出

配置yarn-site.xml文件

vim yarn-site.xml打开该配置文件
在这里插入图片描述

在这里插入图片描述

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property> 
</configuration>

复制配置信息后保存退出

配置mapred-site.xml文件

由于hadoop本身是没有这个文件的, 所以需要我们去复制一份

[root@master hadoop]# cp mapred-site.xml.template  mapred-site.xml

vim mapred-site.xml打开该配置文件
在这里插入图片描述

在这里插入图片描述

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>
</configuration>

复制配置信息后保存退出

配置slaves文件

vim slaves打开该配置文件

在这里插入图片描述

在这里插入图片描述

master
slave1
slave2

复制配置信息后保存退出

复制两台虚拟机

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

并用相同手法克隆slave2

克隆后补充差异
#--> slave2也一样,就不造轮子了
[root@master ~]# hostnamectl set-hostname slave1

在这里插入图片描述

#--> slave1的IP为: 192.168.1.102
#--> slave2的IP为: 192.168.1.103

在这里插入图片描述

物理机的hosts文件也要建立映射关系

在这里插入图片描述

与两台克隆机建立SSH连接

在这里插入图片描述

在这里插入图片描述

格式化NameNode

[root@master ~]# hadoop namenode -format

在这里插入图片描述

看到"successfully formatted"字样即为成功格式化

启动集群

#--> ①启动hdfs
[root@master hadoop]# start-dfs.sh

#--> ②启动yarn
[root@master hadoop]# start-yarn.sh

#--> ③查看进程
[root@master hadoop]# jps

有以下进程即为成功启动

: 第一次启动可能会要你手动输入几次"yes"

在这里插入图片描述

执行start-dfs.sh后

#jps查看进程
master				slave1					slave2
-----------------------------------------------------------------------
NameNode			SecondaryNameNode		DataNode
DataNode			DataNode

#若少进程可以尝试单独启动缺少程序
hadoop-daemon.sh start xxxxxx

在这里插入图片描述

再执行start-yarn.sh后

#jps查看进程
master				slave1					slave2
-----------------------------------------------------------------------
NameNode			SecondaryNameNode		DataNode
DataNode			DataNode				NodeManager
ResourceManager		NodeManager
NodeManager

#若少进程可以尝试单独启动缺少程序
hadoop-daemon.sh start xxxxxx

检验

检验hdfs

在浏览器地址栏输入http://master:50070

在这里插入图片描述

检验yarn

在浏览器地址栏输入http://master:8088

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43492356/article/details/108967721