zookeeper服务的搭建

zookeeper官网中提供了两个包,具体区别如下:

包名处理方式
apache-zookeeper-版本号-bin.tar.gz可以直接执行
apache-zookeeper-版本号.tar.gz需编译后执行

目前最新版的是3.5.6,环境最低要求为jdk1.8
服务默认读取配置为:conf/zoo.cfg,安装包自带了配置文件示例:zoo_sample.cfg。
单机部署时,只需要配置如下几个配置项即可:

配置项说明
tickTime心跳检测周期
initLimit连接数
clientPort客户端请求监听端口
dataDir数据存放路径

如果要搭建集群,需要注意一下几点:

  1. 在配置的dataDir路径中创建myid文件,文件内容为id(即节点编号,全局唯一);
  2. 在conf/zoo.cfg中添加配置:server.id=IP:PORT1:PORT2,其中PORT1:zookeeper间通讯使用,只有leader监听此端口;PORT2:选举leader用,id为节点编号;
  3. 启动无顺序要求,所有节点服务启动即可;
  4. 由于zookeeper选举Leader算法的要求,节点个数必须为奇数个。

从V3.5.5版本开始,内嵌了jetty服务器,默认使用8080端口,可以通过在conf/zoo.cfg添加“admin.serverPort=指定端口”的方式修改,或者添加“admin.serverPort=指定端口”取消该服务。

相关命令:

  • 启动zookeeper服务:bin/zkServer.sh start
  • 停止zookeeper服务:bin/zkServer.sh stop
  • 查看zookeeper服务状态(集群属性也可展示):bin/zkServer.sh status

集群节点角色说明:

  1. Leader:整个ZooKeeper集群工作机制中的核心,其主要工作有以下两个:
    - 事务请求的唯一调度和处理者,保证集群事务处理的顺序性
    - 集群内部各服务器的调度者
  2. Follower:是ZooKeeper集群状态的跟随者,其主要工作有以下三个
    - 处理客户端非事务请求,转发事务请求给Leader服务器
    - 参与事务请求Proposal的投票
    - 参与Leader选举投票
  3. Observer:是Zookeeper自3.3.0版本开始引入的一个全新的服务器角色。该服务器充当了一个观察者的角色—其观察Zookeeper集群的最新状态变化并将这些状态变更同步过来。Observer服务器在工作原理上和Follower基本一致,对于非事务请求,都可以进行独立的处理,而对于事务请求,则会转发给Leader服务器进行处理。和Follower唯一的区别在于,Observer不参与任何形式的投票,包括事务请求Proposal的投票和Leader选举投票。简单讲,Observer服务器只提供非事务服务,通常用于在不影响集群事务处理能力的前提下提升集群的非事务处理能力。
配置Observer节点的方法:
	在配置文件中添加:peerType=observer
	在所有Server的配置文件中,配置成Observer模式的server的那行配置追加:observer,例如:server.1:localhost:2181:3181:observer
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值