不了解Zookeeper的童鞋看过来哦~

举报
Regan Yue 发表于 2021/10/24 12:28:51 2021/10/24
2.9k+ 0 0
【摘要】 不了解Zookeeper的童鞋看过来哦~假如你有一个Hadoop集群,但是国庆假期期间你的namenode也就是主节点挂了,这时候“苦逼的”拿着三倍加班工资的运维人员赶快去处理,处理完成之后重启原来这个namenode,这台主节点还是主节点吗?答案是它当从节点了,这就跟我们今天要介绍的Zookeeper有关了,因为它选择主节点是有一定规则的。再来看一个有意思的问题。在只有一台Zookeepe...

不了解Zookeeper的童鞋看过来哦~

假如你有一个Hadoop集群,但是国庆假期期间你的namenode也就是主节点挂了,这时候“苦逼的”拿着三倍加班工资的运维人员赶快去处理,处理完成之后重启原来这个namenode,这台主节点还是主节点吗?

答案是它当从节点了,这就跟我们今天要介绍的Zookeeper有关了,因为它选择主节点是有一定规则的。

再来看一个有意思的问题。在只有一台Zookeeper服务器的情况下,是不是可能会出现问题?假如有个Zookeeper集群,那么主节点挂掉之后谁当主节点,谁当从节点?

其实当Zookeeper的主节点挂掉之后,就会进行“投票选举”,选一台服务器作为主节点。其实Zookeeper所有节点启动之前,谁也不知道谁是主节点,因为每次启动后都会“投票选举”一个主节点,这个底层算法就是一种区块链中常用的共识算法。

什么是Zookeeper?

那么,说了这么多,Zookeeper到底是什么呢?

其实,和Hadoop一样,Zookeeper是谷歌的Chubby的一种实现,是一种开源的分布式协调服务。不过Hadoop是根据谷歌的几篇论文搞出来的。

它的名字意思是动物园的管理员,那么它能管理哪些动物呢?Hadoop(就是大象)、Hive(就是勤劳的小蜜蜂)、Pig(猪噜噜)、Tomcat(小猫)。

Zookeeper能帮我们做什么?

能够让多个节点统一完成所有动作,这就是分布式系统协调,还有实现负载均衡的功能。

在一个进程中共享锁是比较容易实现的,但是在跨进程和在不同服务器之中使用共享锁就比较难了,所以我们得使用zookeeper,它让多进程或多个服务器之间的共享锁变得容易。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。