文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ZooKeeper实现高可用的两种方案是什么

2024-04-02 19:55

关注

这篇“ZooKeeper实现高可用的两种方案是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ZooKeeper实现高可用的两种方案是什么”文章吧。

注:下面实现高可用都用的是双机热备,为了方便,把调度服务器debian1简称为主机,把调度服务器debian1的备机debian1'简称为备机。

客户端有感知的高可用

客户端有感知的高可用,也就是需要客户端的配合,客户端自己去确认服务器的变更并切换访问的目标。比如说我们的主机、备机都在ZooKeeper(或者其他类似的注册中心比如redis)中进行注册,客户端监听ZooKeeper中服务器的信息,发现主机下线自己就切换访问备机即可。

ZooKeeper伪集群搭建

首先在本机搭建包含3个节点的ZooKeeper伪集群。在官网下载版本3.5.4-beta,解压,然后复制3份,每一份都要做如下操作:

进入conf文件夹 创建一个配置文件zoo.cfg。代码如下:

ZooKeeper实现高可用的两种方案是什么

创建上面的dataDir和dataLogDir,并在dataDir目录下必须创建myid文件,写入不同的整数ID,也就是上面的server.x的x,比如1

分别进入bin目录,在zkServer.cmd中call之前加入set ZOOCFG=../conf/zoo.cfg 并用其启动。

顺带一提,代码开发我就使用我之前的项目CHKV了,因为这个项目中的NameNode或者DataNode也可以用ZooKeeper实现高可用,欢迎和我一起完善这个项目,一块进步。

调度服务端开发

调度服务器主要向ZooKeeper注册自己,并向客户端提供服务。我们使用curator框架来和ZooKeeper交互,特别要注意版本问题。

主要代码如下:

ZooKeeper实现高可用的两种方案是什么

客户端开发

客户端主要向ZooKeeper监听调度服务器变更事件,并向其发起应用请求。实际上应用服务器也可以使用这部分代码来监听调度服务器的变化。

主要代码如下:

ZooKeeper实现高可用的两种方案是什么

对客户端透明的高可用

对客户端透明的高可用,也就是客户端不需要做什么工作,服务器切换不切换客户端根本不知道也不关心。主要实现方式有两种,一种是客户端通过域名访问主机,那么监控主机下线后就把域名重新分配给备机,当然这个切换会有时间成本,视定义的DNS缓存时间而定;第二种就是客户端通过IP访问主机,监控到主机下线后就通过IP漂移技术把对外的IP(或者说虚拟IP)分配给备机,这样就能做到及时的切换。

实际环境中常常使用keepalived来实现IP漂移。

搭建过程参考了The keepalived solution for LVS和官网文档

首先主机、备机都要安装keepalived,然后配置主机/etc/keepalived/keepalived.conf:

ZooKeeper实现高可用的两种方案是什么

配置备机/etc/keepalived/keepalived.conf,与主机类似,但是state是backup,且权重较低即可:

ZooKeeper实现高可用的两种方案是什么

以上就是关于“ZooKeeper实现高可用的两种方案是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯