Hadoop(二): YARN(资源管理器 RM)、HBase高可用集群搭建

目录

一、Hadoop的高可用原理概述

1.1 原理概述

1.2 实验环境要求

二、高可用集群的搭建

2.1 搭建Zookeeper

2.2 搭建HA的高可用

2.3 YARN(资源管理器 RM)高可用集群部署

2.4 HBase高可用


一、Hadoop的高可用原理概述

1.1 原理概述

        高可用是指在集群中当有一太master,出现故障时,另外一台可以接替其工作。

        在典型的 HA 集群中,通常有两台不同的机器充当 NN。两台主机只有一台处于Active状态,另一台处于Standby。处于Active状态的主机负责HA集群中的操作管理,Standby负责备份,当Active出现状况时,可自动切换启动使用。

        在HA集群中为了让 Standby 和 Active 两台主机保持元数据保持一致,它们都将会和JournalNodes 守护进程通信。当 Active节点执行任何有关命名空间的修改,它需要持久化到一半以上的 JournalNodes 上(通过 edits log 持久化存储),而 Standby节点负责观察 edits log的变化,从 JNs 中读取 edits 信息,并更新其内部的命名空间。当 Active节点出现故障,Standby将会保证从 JNs 中读出了全部的 Edits,然后切换成 Active 状态。

        Standby  读取全部的 edits 可确保发生故障转移之前,是和 Active拥有完全同步的命名空间状态。

        为了提供快速的故障恢复,Standby也需要保存集群中各个文件块的存储位置。为了实现这个,集群中所有的 Database 将配置好 Active和 Standby的位置,并向它们发送块文件所在的位置及心跳,如下图所示:

【注】在 HA 集群中,Standby也执行 namespace 状态的 checkpoints,所以不必要运行Secondary NN、CheckpointNode 和 BackupNode。

1.2 实验环境要求

        5台虚拟机、Zookeeper的压缩包

其中: server1、5搭建NN的高可用;

server2、3、4搭建zk\jk\dn

虚拟机ip 主机名 搭载的服务
192.168.19.71 server1 NameNode、ResourceManager、DFSZKFailoverController
192.168.19.75 server5 NameNode、ResourceManager、DFSZKFailoverController
192.168.19.72 server2 DataNode、NodeManager、JournalNode、QuorumPeerMain
192.168.19.73 server3 DataNode、NodeManager、JournalNode、QuorumPeerMain
192.168.19.74 server4 DataNode、NodeManager、JournalNode、QuorumPeerMain

【注】 (1)NameNode machines:运行 Active和 Standby 的机器需要相同的硬件配置;

(2)JN :相对来说比较轻量,可以和其他线程(比如 NN,YARN ResourceManager)运行在同一台机器上。

(3)在一个集群中,最少要运行 3 个 JN 守护进程,来增强容错能力。更多则需要保证运行个数为奇数个 JN(3、5、7 等),当运行 N 个 JN,系统将最多容忍(N-1)/2 个 JN 崩溃。

二、高可用集群的搭建

2.1 搭建Zookeeper

##清空所有运行进程
sbin/stop-all/.sh

##清楚数据缓存目录--->server1\2\3均要清除
rm -fr /tmp/*

##新加入节点安装nfs--->server4\5
yum install -y nfs-utils

##新加入节点创建目录并挂载共享文件--->server4\5
useradd hadoop
echo 123 | passwd --stdin hadoop
mount 192.168.19.71:/home/hadoop /home/hadoop

##对zookeeper压缩包进行解压--->nfs共享,所有主机均生效
tar zxf zookeeper-3.4.9.tar.gz

##对ZK进行配置--->server2\3\4
mkdir /tmp/zookeeper    -->存储ZK集群信息
cd zookeeper-3.4.9/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg   -->加入zk三个节点的IP,IP1:192.168.19.72\IP2:192.168.19.73\IP3:192.168.19.74 -- 端口2888(同步数据)3888(选举leader)
---------------------
server.1=192.168.19.72:2888:3888
server.2=192.168.19.73:2888:3888
server.3=192.168.19.74:2888:3888
---------------------

##将对应的编号写入对应主机的文件中--->server2\3\4
echo 1 > /tmp/zookeeper/myid    --server2
echo 2 > /tmp/zookeeper/myid    --server3
echo 3 > /tmp/zookeeper/myid    --server4

##在server2\3\4上开启zkserver
cd zookeeper-3.4.9
bin/zkServer.sh start

##查看各节点状态--->server2\3\4
bin/zkServer.sh status

##在leader节点执行初始化命令--server2(status--leader)
bin/zkCli.sh

##分别查看节点运行的进程--->serve
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值