当前位置:   article > 正文

Hadoop HA(高可用)部署_hadoop ha部署

hadoop ha部署

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 
  • 1

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

service network restart
  • 1

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

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

选择编辑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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

vi /etc/hosts
  • 1

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

192.168.100.10 master
	192.168.100.20 slave1
	192.168.100.30 slave2
  • 1
  • 2
  • 3

关机,克隆出两台机器,分别为 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
  • 1
  • 2
  • 3

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

hostnamectl set-hostname master
		hostnamectl set-hostname slave1
		hostnamectl set-hostname slave2		
	 
  • 1
  • 2
  • 3
  • 4

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

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

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

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

ssh-keygen -t rsa
  • 1

然后一直回车确认

(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
  • 1
  • 2
  • 3

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

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

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
  • 1
  • 2

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

vi /etc/profile.d/bigdata_env.sh
  • 1

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

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

(4) #使环境变量生效

source /etc/profile
#可以查看java的版本
java –version
  • 1
  • 2
  • 3

到此,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
  • 1
  • 2

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

三、zookeeper配置

(1)集群节点规划

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

(2)解压安装

解压:
  • 1
[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
  • 1
  • 2

(3)配置服务器编号

[root@master zookeeper-3.4.5]# mkdir zkData
[root@master zookeeper-3.4.5]# cd zkData
[root@master zkData]# vim myid
	1
  • 1
  • 2
  • 3
  • 4

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

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

[r
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/852306
    推荐阅读
    相关标签
      

    闽ICP备14008679号