实验三 Hadoop HA 集群的安装

实验目的
1、linux 基础知识和操作命令,如 vi、mkdir、cp、mv、tar、wget、scp 等等
2、下载安装和环境变量配置
3、zookeeper 基础原理和功能
4、Hadoop 基础知识,如:HDFS、YARN、NameNode、DataNode、active、Standby 机制等等
5、掌握 Hadoop HA 的配置方法
6、掌握 Hadoop HA 启动和测试方法
实验环境
1、64 位电脑,8G 以上内存
2、win10 系统
3、本实验是在实验一实验二的基础上操作的,有关软件的安装及配置就不在详细介绍
课时:
4 课时
实验步骤:
1、节点分工

机器名IP软件进程
hadoop1192.168.202.129jdk、zookeeper、hadoopQuorumPeerMain 、 namenode(active) 、datanode
hadoop2192.168.202.130jdk、zookeeper、hadoopQuorumPeerMain、datanode、journalnode
hadoop3192.168.202.131jdk、zookeeper、hadoopQuorumPeerMain、datanode、journalnode
hadoop4192.168.202.132jdk、hadoopnamenode(standby)、Journalnode

2、软件准备。
(1)虚拟机 VMWare,版本是 VMware® Workstation 15 Pro 以上,太低了不支持在 win10 上运行。
(2)Linux 系统 CentOS7
(3)Jdk,参考:jdk-8u251-linux-x64.tar.gz
(4)zookeeper 文件名:apache-zookeeper-3.5.8-bin.tar.gz
下载地址:http://mirrors.hust.edu.cn/apache/ZooKeeper/
(5)finalshell
(6)Hadoop 文件名:hadoop-2.7.1.tar.gz
3、修改hadoop配置文件
①配置home/lib/hadoop-2.7.1/etc/hadoop 目录下的 core-site.xml

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://cluster</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/home/lib/htemp</value>
	</property>
	<property>
		<name>io.file.buffer.size</name>
		<value>131702</value>
	</property>
	<property>
		<name>ha.zookeeper.quorum</name>
		<value>hadoop1:2181,hadoop2:2181,hadoop3:2181</value>
	</property>
</configuration>

②配置/home/lib/hadoop-2.7.1/etc/hadoop 目录下的 hdfs-site.xml

<configuration>
	<property>
		<name>dfs.nameservices</name>
		<value>cluster</value>
	</property>
	<property>
		<name>dfs.ha.namenodes.cluster</name>
		<value>node1,node2</value>
	</property>
	<property>
		<name>dfs.namenode.rpc-address.cluster.node1</name>
		<value>hadoop1:9000</value>
	</property>
	<property>
		<name>dfs.namenode.http-address.cluster.node1</name>
		<value>hadoop1:50070</value>
	</property>
	<property>
		<name>dfs.namenode.rpc-address.cluster.node2</name>
		<value>hadoop4:9000</value>
	</property>
	<property>
		<name>dfs.namenode.http-address.cluster.node2</name>
		<value>hadoop4:50070</value>
	</property>
	<property>
		<name>dfs.namenode.shared.edits.dir</name>
		<value>qjournal://hadoop2:8485;hadoop3:8485;hadoop4:8485/cluster</value>
	</property>
	<property>
		<name>dfs.journalnode.edits.dir</name>
		<value>/home/lib/journaldata</value>
	</property>
	<property>
		<name>dfs.ha.automatic-failover.enabled</name>
		<value>true</value>
	</property>
	<property>
		<name>dfs.client.failover.proxy.provider.cluster</name>
		<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
	</property>
	<property>
		<name>dfs.ha.fencing.methods</name>
		<value>
			sshfence
			shell(/bin/true)
		</value>
	</property>
	<property>
		<name>dfs.ha.fencing.ssh.private-key-files</name>
		<value>/root/.ssh/id_rsa</value>
	</property>
	<property>
		<name>dfs.ha.fencing.ssh.connect-timeout</name>
		<value>30000</value>
	</property>
</configuration>

⑤配置/home/lib/hadoop-2.7.1/etc/hadoop 目录下 hadoop-env.sh、yarn-env.sh 的 JAVA_HOME,不设置的话,启动不了

export JAVA_HOME=/home/lib/jdk1.8.0_251

⑥配置/home/lib/hadoop-2.7.1/etc/hadoop 目录下的 slaves,删除默认的 localhost,增加 3 个从节点,这 3 个节点都是 datanode,如果要将删除某个 datanode 节点,如:192.168.202.129,删除对应的记录就可以。(若hadoop版本为3.x,则修改workers)

vim slaves (hadoop2.x版本)
vim workers (hadoop3.x版本)

hadoop1
hadoop2
hadoop3
hadoop4

4、集群环境搭建
(1)关闭虚拟机,虚拟机改名为 hadoop1,克隆出 hadoop2、hadoop3、hadoop4,现在我已克隆好虚拟机,如下图。
在这里插入图片描述
(2)在hadoop1、hadoop2、hadoop3、hadoop4上均修改主机名和主机和IP地址的映射,以hadoop1为例:

vi /etc/hostname

在这里插入图片描述

vi /etc/hosts

在这里插入图片描述
(3)进入 hadoop2 目录 /etc/sysconfig/network-scrips/ifcfg-eth33 修改从机 IP,一般最后一位自增 1,IP 为192.168.202.129,
(4)进入 hadoop2 目录 /etc/hostname,修改从机 hostname 为 hadoop2
(5)进入hadoop2 目录/opt/zookeeper/data,使用 vi myid 命令将其内容改为 2,
(6)进入 hadoop2 目录,通过 vim/etc/hosts 打开 hosts 文件,添加 IP 地址和主机的对应关系,方便以后使用主机名进行访问。与 hadoop1 下的一样。
(7)进入 hadoop3 目录进设置,与除了将 myid 的内容改为 3 之外,其它与 hadoop2 的设置一样。
(8)进入 hadoop4 目录,将 myid 的内容置为空,其它与 hadoop2 的设置一样。
(9)将 hadoop1、hadoop2、hadoop3、hadoop4 进行重启,使设置生效。
5、启动 zookeeper(参考实验二
6、在 hadoop1 上启动集群
输入命令:start-dfs.sh
运行的界面如下:
在这里插入图片描述
7、分别在 hadoop1、hadoop2、hadoop3和hadoop4上运行 JPS,查看有哪些进程
hadoop1
在这里插入图片描述
hadoop2
在这里插入图片描述
hadoop3
在这里插入图片描述
hadoop4
在这里插入图片描述
8、观察节点上的进程是否与节点分工中描述的一致
9、Web 方式进行访问
(1)要先关闭防火墙
设置开机禁用防火墙:

systemctl disable firewalld.service

关闭防火墙:

systemctl stop firewalld

关闭selinux:

vim /etc/selinux/config
SELINUX=disabled

检查防火墙状态(若为active,防火墙未关闭;若为inactive,防火墙关闭成功):

systemctl status firewalld

(2)浏览器打开 http://192.168.202.129:50070/,观察 NameNode 的状态
(3)浏览器打开 http://192.168.202.132:50070/, ,观察 NameNode 的状态
10、杀掉活动节点的 NameNode 进程,观察另外一个休眠节点是否自动转化为活动节点
在这里插入图片描述
在这里插入图片描述
可以使用命令:kill -9【使用 jps 命令得到的进程号】,将 hadoop1 上的 NameNode 进程杀死,观察 hadoop4上的 NameNode的状态:,也可以使用 hadoop-daemon.sh stop namenode停止hadoop1的NameNode的进程观察hadoop4上的 NameNode的状态

kill -9 21618
hadoop-daemon.sh stop namenode

在这里插入图片描述

本实验相关软件分享:https://pan.baidu.com/s/1vrREumWwNVaP2kipKBPO2A 提取码: 8z4i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值