收藏本站 您好,欢迎来到泵阀网 请登录 免费注册 行业导航 产品 求购 企业 动态 展会 招聘
分享到:

千锋辽阳大数据技术学习:ZooKeeper应用

  身在IT圈的你,在掌握了编程语言之后,面对大数据技术的不断发展,公司对程序员的要求也是逐渐向这个方向靠近,很显然,你又该学习了。千锋专注于高端大数据人才培养,今天千锋大数据培训老师给大家分享一下:ZooKeeper应用--解决分布式系统单点故障。

  1.单点故障问题

  什么是分布式系统中的单点故障:通常分布式系统采用主从模式,就是一个主控机连接多个处理节点。主节点负责分发任务,从节点负责处理任务,当我们的主节点发生故障时,那么整个系统就都瘫痪了,那么我们把这种故障叫作单点故障。如下图

图片1

图片2

  传统方式是采用一个备用节点,这个备用节点定期给当前主节点发送ping包,主节点收到ping包以后向备用节点发送回复Ack,当备用节点收到回复的时候就会认为当前主节点还活着,让他继续提供服务。如下图所示:

图片3

  但是这种方式就是有一个隐患,就是网络问题,来看一网络问题会造成什么后果。

图片4

  也就是说我们的主节点的并没有挂,只是在回复的时候网络发生故障,这样我们的备用节点同样收不到回复,就会认为主节点挂了,然后备用节点将他的Master实例启动起来,这样我们的分布式系统当中就有了两个主节点也就是---双Master, 出现双Master以后我们的从节点就会将它所做的事一部分汇报给了主节点,一部分汇报给了备用节点,这样服务就全乱了。为了防止出现这种情况,我们引入了 ZooKeeper,它虽然不能避免网络故障,但它能够保证每时每刻只有一个Master。

  2.ZooKeeper解决方案

  在引入了Zookeeper以后,我们启动了两个主节点,"主节点-A"和"主节点-B"他们启动以后,都向ZooKeeper去注册一个节点。我们 假设"主节点-A"锁注册地节点是"master-00001","主节点-B"注册的节点是"master-00002",注册完以后进行选举,编号最小的节点将在选举中获胜获得锁成为主节点,也就是我们的"主节点-A"将会获得锁成为主节点,然后"主节点-B"将被阻塞成为一个备用节点。那么,用这种方式就完成了对两个Master进程的调度。

图片5

  如果"主节点-A"挂了,这时候他所注册的节点将被自动删除,ZooKeeper会自动感知节点的变化,然后再次发出选举,这时候"主节点-B"将在选举中获胜,替代"主节点-A"成为主节点。

图片6

  3.Master 恢复

图片7

  如果主节点恢复了,他会再次向ZooKeeper注册一个节点,这时候他注册的节点将会是"master-00003",ZooKeeper会感知节点的变化再次发动选举,这时候"主节点-B"在选举中会再次获胜继续担任"主节点","主节点-A"会担任备用节点。

  学习大数据开发,可以参考千锋提供的大数据学习路线,该学习路线提供完整的大数据开发知识体系,内容包含Linux&&Hadoop生态体系、大数据计算框架体系、云计算体系、机器学习&&深度学习。根据千锋提供的大数据学习路线图可以让你对学习大数据需要掌握的知识有个清晰的了解,并快速入门大数据开发。

千锋大连校区:http://dl.mobiletrain.org/

大连校区地址:辽宁省大连市甘井子区软件园路2号东软信息学院B5座一楼

培训咨询专线:0411-39026086 400-8119-990

咨  询  QQ  : 1660794050

面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、Java+云数据培训、大数据开发培训VR/AR/Unity游戏开发培训、Python培训、Linux云计算培训、全栈软件测试培训、Android培训、iOS培训

千锋辽阳大数据技术学习:ZooKeeper应用

分享到:
免责声明
1)本信息由“北京千锋互联科技有限公司”发布,由“北京千锋互联科技有限公司”负责信息的合法性;
2)本站平台目的在于分享更多信息,不代表本站的观点和立场;信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。
3)本信息如有侵权请将此链接发邮件至517763949@qq.com,本站将及时处理并回复。
4)《新著作权法草案》第六十九条规定:网络服务提供者为网络用户提供存储、搜索或者链接等单纯网络技术服务时,不承担与著作权或相关权有关的信息审查义务。网络用户利用网络服务实施侵犯著作权或者相关权行为的,被侵权人可以书面通知网络服务提供者,要求其采取删除、屏蔽、断开链接等必要措施。