1. Zookeeper 集群中的角色
角色 | 描述 |
---|---|
领导者 (Leader) |
领导者负责进行投票的发起和决议,更新系统状态 |
学习者中的 跟随者 (Follower) |
Follower用于接收客户请求并向客户端返回结果,在选主过程中参与投票 |
学习者中的 观察者(ObServer) |
ObServer可以接收客户端连接,将写请求转发给Leader节点。但ObServer 不参加投票过程,只同步leader的状态。ObServer的目的是为了扩展系统, 提高读取速度。 |
客户端(Client) | 请求发起放 |
2.zookeeper集群安装
使用 3 个 Zookeeper 应用搭建一个伪集群。
应用部署位置是:192.168.100.132。
客户端监听端口分别为:2181、2182、2183。
投票选举端口分别为 2881/3881、2882/3882、2883/3883。
创建zookeepercluster 文件 存放zookeeper集群内容
拷贝一份zookeeper到zookeepercluster中
命令为: cp apache-zookeeper-3.6.0-bin /usr/local/zookeepercluster/ -r
重命名命令: mv apache-zookeeper-3.6.0-bin/ zookeeper01
向配置单机版的zookeeper一样添加一下配置 添加日志缓存目录 命令行: mkdir data
在zookeepercluster目录拷贝三份 分别是 zookeeper01 zookeeper02 zookeeper03
提供配置文件
在 zookeeper 应用目录中有子目录 conf。其中有配置文件模板:zoo_sample.cfg
命令: cp zoo_sample.cfg zoo.cfg
zookeeper 应用中的配置文件为 conf/zoo.cfg。
修改配置文件 zoo.cfg - 设置数据缓存路径
提供应用唯一标识
在 Zookeeper 集群中,每个节点需要一个唯一标识。
这个唯一标识要求是自然数。且唯一标识保存位置是:
数据缓存目录(dataDir=/usr/local/zookeeper/data)的 myid 文件中。
其中数据缓存目录”为配置文件 zoo.cfg 中的配置参数
在 data 目录中创建文件 myid : touch myid 为应用提供唯一标识。
本环境中使用 1、2、3 作为每个节点的唯一标识。
vi myid
简化方式为:
echo [唯一标识] >> myid。
echo 命令为回声命令,系统会将命令发送的数据返回。
'>>'为定位,代表系统回声数据指定发送到什么位置。
此命令代表系统回声数据发送到 myid 文件中。 如果没有文件则创建文件。
命令: echo 1 >> zookeeper01/data/myid zookeeper02 和zookeeper03也是一样 红色标记的不能相同
修改配置文件 zoo.cfg - 设置监听客户端、投票、选举端口
启动zookeeper 命令: zookeeper03/bin/zkServer.sh start
查看状态命令: zookeeper03/bin/zkServer.sh status
关闭节点 命令行: zookeeper03/bin/zkServer.sh stop
编写启动、关闭集群脚本
在 Linux 中可以使用 chmod 命令为文件授权。
chmod 777 文件名
777 表示为文件分配可读,可写,可执行权限。
启动
关闭
连接集群
可以使用任何节点中的客户端工具连接集群中的任何节点。
zookeeper01/bin/zkCli.sh -server 192.168.100.132:2183