zookeeper安装与使用
概述
zookeeper致力于开发和维护开源服务器,以实现高度可靠的分布式协调。
ZooKeeper是一个集中式服务,用于维护配置信息、命名、提供分布式同步、提供组服务。所有这些类型的服务都以某种形式由分布式应用程序使用。每次实施它们时,都需要进行大量工作来修复不可避免的错误和竞争条件。由于实现此类服务很困难,应用程序最初通常会忽略它们,这使得它们在发生变化时变得脆弱并且难以管理。即使正确完成,这些服务的不同实现也会导致部署应用程序时的管理复杂性。
单机安装
下载:https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz
这里使用的3.9.1版本。
1 |
|
1 |
|
- tickTime:ZooKeeper 使用的基本时间单位(以毫秒为单位)。它用于进行心跳,最小会话超时将是tickTime 的两倍。
- dataDir:存储内存数据库快照的位置,除非另有指定,否则存储数据库更新的事务日志。
- clientPort: 监听客户端连接的端口
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
集群安装
准备三台机器:192.168.158.139、192.168.158.140、192.168.158.141
1 |
|
1 |
|
initLimit : ZooKeeper 用于限制仲裁中的 ZooKeeper 服务器必须连接到领导者的时间长度的超时值。值 * tickTime
syncLimit:同步超时程序。值 * tickTime
server.A=B:C:D。
参数 | 描述 |
---|---|
A | 一个数字,表示第几号服务器。集群模式下配置的数据目录下/myid文件里面的数据就是A的值 |
B | 服务器的IP地址/或域名(可以本地配置文件配置) |
C | 与集群中Leader服务器交换信息的端口 |
D | 选举时专用端口,万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口 |
打开相应的端口。
1 |
|
1 |
|
注意
必须是奇数台,因为必须满足n/2+1=m,m必须大于部署zk机器数的一半(n/2)可用才认为集群可用,而且奇数台更节省资源。
2/2+1=2 一台不能坏
3/2+1=2 可以坏掉一台
4/2+1=3 只能坏一台
5/2+1=3 可以坏2台
zookeeper安装与使用
http://hanqichuan.com/2023/12/22/zookeeper/zookeeper安装与使用/