Linux之Zookeeper集群搭建


aihuafeng66t
克里斯蒂亚诺诺 2024-01-10 16:56:20 66411 赞同 0 反对 0
分类: 资源
Linux之Zookeeper集群搭建

一、Zookeeper集群简介

  Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。对 zookeeper 集群进行了这样三种角色划分:leader、follower、observer:

  • 领导者(leader):负责进行投票的发起和决议,更新系统状态。
  • 跟随者(follower):用于接收客户端请求并向客户端返回结果以及在选举过程中参与投票。
  • 观察者(observer):也可以接收客户端连接,将写请求转发给leader节点,但是不参与投票过程,只同步leader的状态。通常对查询操作做负载。

  Zookeeper 的三个端口作用

  • 2181 : 对 client 端提供服务
  • 2888 : 集群内机器通信使用
  • 3888 : 选举 leader 使用

3、创建zookeeper安装用户

集群各节点参照执行。
[root@s131 ~]# useradd zk
[root@s131 ~]# passwd zk
Changing password for user zk.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

4、下载zookeeper最新稳定版本

通过Apache官网下载最新稳定版本,https://zookeeper.apache.org/releases.html#download,博文发布时最新稳定版本为3.6.3,最新版本为3.7.0。实际下载链接为镜像网址,其他节点同步执行。
[root@s131 ~]# su - zk
[zk@s131 ~]$ wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz

6、修改配置文件 zoo.cfg

其他节点参照执行。
[zk@s131 ~]$ mkdir data
[zk@s131 ~]$ cd zookeeper/
[zk@s131 zookeeper]$ cd conf/
[zk@s131 conf]$ cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件,配置如下:
[zk@s131 conf]$ cat zoo.cfg |grep -Ev “#|$”
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zk/data
clientPort=2181
server.1=192.168.0.131:2888:3888
server.2=192.168.0.132:2888:3888
server.3=192.168.0.133:2888:3888

7、创建 myid 文件

[zk@s131 conf]$ cd /home/zk/data/
[zk@s131 data]$ echo “1” > myid
[zk@s131 data]$ cat myid
1
[zk@s132 conf]$ cd /home/zk/data/
[zk@s132 data]$ echo “2” > myid
[zk@s132 data]$ cat myid
2
[zk@s133 conf]$ cd /home/zk/data/
[zk@s133 data]$ echo “3” > myid
[zk@s133 data]$ cat myid
3

8、启动zookeeper服务

其他节点参照执行。
[zk@s131 bin]$ cd ~/zookeeper/bin/
[zk@s131 bin]$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/zk/zookeeper/bin/…/conf/zoo.cfg
Starting zookeeper … STARTED

三、zoo.cfg配置文件参数说明

  • tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime
  • dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。
  • client:监听客户端连接的端口。
  • initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
  • syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
  • server.A=B:C:D
    A:其中 A 是一个数字,表示这个是服务器的编号;
    B:是这个服务器的 ip 地址;
    C:Zookeeper服务器之间的通信端口;
    D:Leader选举的端口。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
克里斯蒂亚诺诺L1
粉丝 0 资源 831 + 关注 私信
最近热门资源
国产操作系统环境搭建(内含镜像资源链接和提取码)  89
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD  88
分享几个在日常办公中可以用到的shell脚本  81
以openkylin为例编译安装内核  79
bat脚本生成查看电脑配置\硬件信息  78
常见系统问题及其解决方法  77
分享解决宏碁电脑关机时自动重启的方法  75
统信uosboot区分未挂载导致更新备份失败  69
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作  69
统信uos安装mysql的实例参考  63
最近下载排行榜
国产操作系统环境搭建(内含镜像资源链接和提取码) 0
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD 0
分享几个在日常办公中可以用到的shell脚本 0
以openkylin为例编译安装内核 0
bat脚本生成查看电脑配置\硬件信息 0
常见系统问题及其解决方法 0
分享解决宏碁电脑关机时自动重启的方法 0
统信uosboot区分未挂载导致更新备份失败 0
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作 0
统信uos安装mysql的实例参考 0
作者收入月榜
1

prtyaa 收益401.13元

2

zlj141319 收益237.91元

3

哆啦漫漫喵 收益231.75元

4

IT-feng 收益219.92元

5

1843880570 收益214.2元

6

风晓 收益208.24元

7

777 收益173.17元

8

Fhawking 收益106.6元

9

信创来了 收益106.03元

10

克里斯蒂亚诺诺 收益91.08元

请使用微信扫码

添加我为好友,拉您入交流群!

请使用微信扫一扫!