注册中心:zookeeper的安装、集群

34 篇文章 1 订阅

注册中心

工作原理:
  1. 服务提供者启动时,会将自己的信息(服务名称/IP/端口号)等写入注入中心
  1. 注册中心接收提供者的数据之后,维护自己的服务列表数据,进行更新操作
  1. 消费者访问注册中心,动态获取服务列表数据
  1. 动态获取服务列表数据之后,保存到本地服务器,方便下次调用
  1. 当用户发起请求时,可以根据获取的IP:port进行PRC调用
  1. 注册中心实时监控提供者是否存活(心跳检测),如果发现提供者宕机,则会动态的维护服务列表数据。会全网广播通知所有的消费者动态更新服务列表数据,保证下一次访问时服务数据是正确的

zk介绍

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper包含一个简单的原语集,提供Java和C的接口。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

总结:Zookeeper负责服务的协调调度。当客户端发起请求时,返回正确的服务器地址。

zk下载

官网:http://zookeeper.apache.org/releases.html
下载地址:http://mirrors.hust.edu.cn/apache/zookeeper/
Linux版Zookeeper安装包提取码:7n11

zk安装

  1. 上传压缩包到usr/local/src/目录下解压后删除压缩包
    命令:tar -xvf zookeeper-3.4.8.tar.gz
    在这里插入图片描述
    修改zookeeper解压后的目录名
    在这里插入图片描述
  2. 在zookeeper根目录下创建data目录和log目录
    在这里插入图片描述
    进入data目录并查看复制data的目录路径
    在这里插入图片描述
    进入zookeeper根目录下的conf目录,复制zoo_sample配置文件并修改名称为zoo.cfg
    在这里插入图片描述
    修改文件zoo.cfg内容
    在这里插入图片描述
    在这里插入图片描述
  3. 启动zk命令
//单台启动
sh zkServer.sh start     或者  ./zkServer.sh start
//停止命令
sh zkServer.sh stop
//查看状态
sh zkServer.sh status

进入zookeeper根目录下的bin目录执行以上命令
在这里插入图片描述

zk集群

  1. 在zookeeper根目录中创建新的目录zkCluster
    在这里插入图片描述
  2. 在zkCluster目录下创建zk1、zk2、zk3三个目录
    在这里插入图片描述
    3.在zk1、zk2、zk3这三个目录里分别创建data目录和log目录
    在这里插入图片描述
    4.进入到zk1目录下的data目录,查看并复制其目录路径
    在这里插入图片描述
    5.分别在zk1、zk2、zk3中的data目录中创建myid文件。其中的内容依次为1、2、3,与zk节点号对应
    在这里插入图片描述
    6.进入到zookeeper根目录下的conf目录
    在这里插入图片描述
    7.复制zoo_sample.cfg为zoo1.cfg后并修改
    在这里插入图片描述
    在这里插入图片描述
    复制修改好的zoo1.cfg为zoo2.cfg后并修改
    在这里插入图片描述
    在这里插入图片描述
    复制修改好的zoo2.cfg为zoo3.cfg后并修改
    在这里插入图片描述
    在这里插入图片描述
    8.zk集群测试
//启动zk1
sh zkServer.sh start   zoo1.cfg
//停止zk1
sh zkServer.sh stop    zoo1.cfg
//查看zk1状态
sh zkServer.sh status  zoo1.cfg

在这里插入图片描述

zk选举机制

zk选举机制一般采用编号优先,编号越大权重越高。
在这里插入图片描述
就是集群时每个目录下的data目录下创建编辑的myid文件里的内容来比较:

  1. 编号越小越先投票(按照对比和下一个投票的myid比较,哪个大投哪个)
  2. 投给票数多的

说明

  1. Zookeeper集群中leader负责监控集群状态,follower主要负责客户端链接获取服务列表信息。同时参与投票。
  2. Zookeeper负责服务的协调调用,当客户端发起请求时返回正确的服务器地址。
  3. Zookeeper搭建集群规则:存活的服务器数量>n/2
  4. 由于3-1>3/2,所以Zookeeper最少三台服务器就可以搭建集群。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Brrby

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值