HDFS集群搭建,高可用双机热备模式(HA)自动切换,hdfs+zookeeper+journalnode,步骤分步原理详解(适合初学者)

有写的不对的地方,欢迎各位同学评论指正,博主会进行修改。



作者也是初学hadoop,了解各组件的用途,并且项目中有些东西用不到,所以作者用最简化的组件搭建,避免多余资源的浪费,作者最初构想是zookeeper+hdfs搭建一个分布式文件系统,不用yarn和mapReduce,但是由于双机热备需要一个共享资源的目录,所以还是用到了yarn的journalnode。后续会进行详细说明。

作者会针对每一步进行详细说明以及原理解释,还有作者踩过的坑进行说明,不敢兴趣的同学可直接跳过,按步操作也能搭好。


1、环境说明

 本文中所有组件是用的CDH5.11组件,单独下载,之所以不用CDH安装,是因为,一是为了学习,基础学习才是王道,况且项目需要,hadoop后期需要活用,hadoop学习是必经之路,绕道去学CDH有些浪费时间。二是因为自身发展,计算机之道,学杂了对自身没好处,学习CDH对于作者规划方向帮助不大。三是,作者也曾经常常为了偷懒干活,写过不少简化工作的小工具,其中还有植入后门安装,而CDH虽然主流,它本身的出现就为了用户不用详细理解hadoop而能完成安装的工具,所以作者本能有些抵触使用别人写的工具。废话不多说,下面是作者本次搭建版本。

为了简化说明,下文开始,zookeeper简称ZK,namenode简称NN或nn,datanode简称dn或DN,jouralnode简称JN,secondaryNameNode简称SNN,都是一些主流叫法。

虚拟机----VMware

操作系统 红帽7(red hat 7)

节点说明:三节点,分别为node1,node2,node3。ip分别为,192.168.163.131、192.168.163.130、192.168.163.132(其中:1、node1和node2分别作为NN和DN,node3仅仅作为DN。2、ZK和JN三个节点都有。3、node1和node2上都有SNN,并且互相作为对方的备份,不作为自己的)

zookeeper 3.4.5版本,对应CDH5.11

hadoop 2.6版本,对应CDH5.11

对应CDH版本一致,就不用担心版本兼容问题啦!哈哈哈,作者是不是很狡猾。




2、主机名配置

在我另一篇文章有记载:http://blog.csdn.net/m0_37590135/article/details/73546534



3、ssh免密登录

集群配置所必须的,为了让节点间主节点每次去从节点取数据登录时,不用输入密码,这也在我的另一篇文章有记载,稍后会给出链接



4、zookeeper集群搭建

我另一篇文章也详细介绍了搭建过程:http://blog.csdn.net/m0_37590135/article/details/74024929



5、hadoop集群搭建----即hdfs集群搭建

5.1、下 载

下载地址:https://archive.cloudera.com/cdh5/cdh/5/



5.2、安装

解压安装到指定目录下。tar -zxvf 文件名




5.3、环境变量设置

为了方便后续操作,我们把hadoop安装目录下的bin和sbin一起写入环境变量。使得引用hadoop脚本时候不用给出全路径

[root@node1 local]# vi /etc/profile




5.4、原理说明

下图是zkfc选举以及切换原理:

(1)、ZKFC通过监听两个NN心跳,也就是healthMonitor进行监听,也可以理解成ping或是telnet,对NN是否还活着进行监视
(2)、ZKFC监听到NN没有心跳了,通常默认是连续的3个心跳没响应(也有相关配置项可以设置,根据网络环境的不同,进行调整),则通知ZKFailoverController,NN发送变化
(3)、ZKFailoverController通知ActiveStandbyElector,这个时候可以简单理解为ActiveStandbyElector管理zookeeper节点,实际上ActiveStandbyElector是一个入口,回调了zookeeper一系列处理,也就是大家所熟知的选举机制。ActiveStandbyElector得到结果后负责回调ZKFailoverController的回调函数,来改变nn的状态。

                        ZKFailoverController的回调函数稍后会在配置文件hdfs-site.xml中看到



下图是HA模型架构图:
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值