Hadoop HA(高可用)部署

本文详细介绍了在CentOS 7环境下,使用Hadoop 2.7.7和Zookeeper 3.4.5搭建Hadoop HA集群的步骤,包括配置静态网络、JDK安装、SSH免密、Zookeeper集群和HDFS HA的详细配置,以及YARN HA的配置。在完成所有步骤后,成功启动HDFS和YARN集群,实现高可用性。
摘要由CSDN通过智能技术生成

Hadoop HA

一、需要的软件

  1. 虚拟机管理软件:VMware15
  2. 系统:CentOS 7
  3. ssh软件:Xshell 7
  4. hadoop版本:2.7.7
  5. Jdk版本:jdk8
  6. zookeeper版本:3.4.5

二、jdk等前序配置

注:安装Hadoop HA(即HDFS和YARN高可用),首先要完成zookeeper的配置,然后再配置hdfs 和yarn 的高可用。

使用超级管理员root登录。

1、 配置静态网络,关闭防火墙,设置hosts映射关系

(1)使用ping 命令检测网络是否连通

ping www.baidu.com 

使用ctrl+c来停止命令
如果网络没有打开,打开网络:

service network restart

(2)修改ip地址,设置为静态网络。

vi /etc/sysconfig/network-scripts/ifcfg-ens33

选择编辑ifcfg-ens33这个文件修改ip地址信息。

1) 把BOOTPROTO=“hdcp” 改为BOOTPROTO=”static”静态网络ip
2) 设置ONBOOT=“yes”
3) 添加master IP地址为:IPADDR=192.168.100.10
4) 添加子网掩码:NETMASK=255.255.255.0
5) 添加网关: GATEWAY=192.168.100.2
6) DNS1=192.168.100.1
7) 重启网络:systemctl restart network
8) 测试网络有没有连通:ping www.baidu.com

(3)关闭防火墙

#关闭防火墙
systemctl stop firewalld
#禁用防火墙
systemctl disable firewalld
#查看防火墙状态
systemctl status firewalld

(4)设置hosts映射关系
备注:这里是把三个Linux的ip地址保存到三个虚拟机去,相当于我们自己在手机里面存别人的电话号码 一样的道理,这样相互之间就知道对应ip地址的机器是哪一台。所以这个操作也是要在三台虚拟机都要 进行的。给ip地址起名字,几个机器需要互相连通,这样在连接几台机器的时候只需要使用机器名就行,不需要使用ip地址。
1) 编辑hosts文件:

vi /etc/hosts

2) 进入编辑模式 i
3)在最后一行添加

192.168.100.10 master
	192.168.100.20 slave1
	192.168.100.30 slave2

关机,克隆出两台机器,分别为 slave1 、 slave2

2、 设置机器主机名和网络,以及测试hosts映射是否成功。

(1)设置slave1 和slave2 的网络

vi /etc/sysconfig/network-scripts/ifcfg-ens33
		slave1 的网络为 192.168.100.20/24 
		slave2 的网络为 192.168.100.30/24

(2)设置master、slave1 和slave2 的主机名

hostnamectl set-hostname master
		hostnamectl set-hostname slave1
		hostnamectl set-hostname slave2		
	 

(3)使用ping命令,看是否能够进行相互的连通。

在master里面连通slave1和slave2。
在slave1里面连通master和slave2。
在slave2里面连通master和slave1。

3、 配置SSH免密登录及时间同步

(1)在各个机器(master、slave1、slave2)家目录执行

ssh-keygen -t rsa

然后一直回车确认

(2)ls -all :查看所有文件和文件夹,
会在/root/.ssh产生id_rsa和id_rsa.pub文件
查看.ssh目录可以看到id_rsa(私钥), id_rsa.pub (公钥)两个文件

如何能在master中对s1和s2进行免密登录?
需要把master的公钥放到s1和s2的authorized_keys文件里
(执行以下步骤即可)

(3)在master、slave1、slave2中分别执行
(期间需要输入yes ,和对应机器的密码,看提示自行决定)

ssh-copy-id slave1 
ssh-copy-id slave2 
ssh-copy-id master

(4)设置时间同步(按需设置)

crontab -e
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org

4、 解压jdk包和Hadoop包并安装jdk

在/opt目录下创建
/module(存放解压或安装好的软件),
/software(tar包等软件包)
目录存放文件

(1) 解压压缩文件:解压hadoop文件和jdk文件,
输入命令时可以用tab键补全

tar -zxvf /opt/software/hadoop-2.7.7.tar.gz –C /opt/module/hadoop
tar -zxvf /opt/software/jdk-8u171-linux-x64.tar.gz –C /opt/module/jdk

(2) 创建一个专门用于配置环境变量的文件

vi /etc/profile.d/bigdata_env.sh

(3) 在bigdata_env.sh文件中设置java的环境变量

export JAVA_HOME=/opt/module/jdk1.8.0_162
export PATH=$JAVE_HOME/bin:$PATH

(4) #使环境变量生效

source /etc/profile
#可以查看java的版本
java –version

到此,master中的java配置已经结束了.

(5) 在slave1和slave2中不用再去安装,直接分发就好了

scp -r /opt/module/jdk1.8.0_162/ slave1:/opt/module
scp -r /opt/module/jdk1.8.0_162/ slave2:/opt/module

(6) 配置s1和s2的环境变量,参考步骤(3)(4)。

三、zookeeper配置

(1)集群节点规划

master、slave1 和 slave2 三个节点上部署Zookeeper。

(2)解压安装

解压:
[root@master software]# tar -zxvf apache-zookeeper-3.4.5-bin.tar.gz -C /opt/module/
[root@master module]# mv apache-zookeeper-3.4.5-bin/ zookeeper-3.4.5

(3)配置服务器编号

[root@master zookeeper-3.4.5]# mkdir zkData
[root@master zookeeper-3.4.5]# cd zkData
[root@master zkData]# vim myid
	1

(4)将zk分发到其他两节点

将zookeeper-3.4.5分发到其他两个节点。

[r
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄人的哆啦梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值