zookeeper集群搭建
程序员文章站
2022-07-14 11:45:51
...
一、下载zookeeper
在官网下载,然后上传到服务器上。所有操作都在192.168.81.131的机器上
二、解压
文件解压到/use/soft目录下
# tar -zxvf zookeeper-3.4.7 -C /usr/soft
三、修改配置
1. 进入conf目下
# cd /usr/soft/zookeeper-3.4.7/conf
2. 找到一个 zoo-sample.cfg 的文件修改复制重名zoo.cfg
# mv zoo-smple.cfg zoo.cfg
3. 修改配置zoo.cfg
# vim zoo.cfg
修改如下:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/soft/zookeeper-3.4.7/data/d_1 //<- ①
dataLogDir=/usr/soft/zookeeper-3.4.7/data/logs/logs_1 //<-②
# the port at which the clients will connect
clientPort=2181
#不同zoo.cfg修改自己的属性和端口号
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=192.168.81.131:2888:2999 //<-③
server.2=192.168.81.132:2888:2999
server.3=192.168.81.133:2888:2999
主要修改三个地方:
- 修改Zookeeper文件保存路径,默认的是在系统tmp文件下,该文件属于临时文件夹不安全。
- 添加日志文件,可选
- 设置集群服务编号和机器ip及端口号
zoo.cfg文件详解
文件 | 详解 |
---|---|
tickTime | 心跳的时间间隔 |
syncLimit | Leader 和 follower 之间的通讯时长最长不能超过 syncLimit*initLimt |
initLimt | 接受客户端链接 zk 初始化的最长等待心跳时长initLimt*ticktime |
dataDir | 数据目录 |
dataLogDir | 日志目录 |
clientPort | 客户端链接服务端端口号 |
Server.A=B:C:D | A:第几号服务器 B:服务 IP C:代表 Leader 和 follower 通讯端口 D:备用选 leader 端口 |
4. 设置集群机器编号
建立对应zoo.cfg配置文件dataDir所对应的文件夹,并该目录在下创建myid文件,myid内容为当前机器的序号,注意 这个序号要与zoo.cfg下server配置的ip相对应
# cd /usr/soft/zookeeper-3.4.7
# mkdir data
# echo "1" > /usr/soft/zookeeper-3.4.7/data/myid
5. 集群相关
机器间建立免密登入
# ssh-****** // 生成**
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
将配置好的zookeeper发送到其他机器上
//压缩发送
# tar -zcvf zookeeper-3.4.7.tar.gz zookeeper-3.4.7/
# scp zookeeper-3.4.7.tar.gz 192.168.81.132:/usr/soft/
//直接发送
# scp -r zookeeper-3.4.7 192.168.81.132:/usr/soft/
这里记得修改对应机器的myid
四、启动
进入bin目录
# cd bin
# ./zkServer.sh start //逐个启动
角色查看
# ./zkServer.sh statu
角色详解:
- Leader:
Leader 作为整个 ZooKeeper 集群的主节点,负责响应所有对 ZooKeeper 状态变更的请求。它会将每个状态更新请求进行排序和编号,以便保证整个集群内部消息处理的 FIFO,写操作都走 leader - Follower :
Follower 的逻辑就比较简单了。除了响应本服务器上的读请求外,follower 还要处理leader 的提议,并在 leader 提交该提议时在本地也进行提交。 另外需要注意的是, leader 和 follower 构成 ZooKeeper 集群的法定人数,也就是说,只有他们才参与新 leader的选举、响应 leader 的提议。 - Observer :
如果 ZooKeeper 集群的读取负载很高,或者客户端多到跨机房,可以设置一些 observer服务器,以提高读取的吞吐量。Observer 和 Follower 比较相似,只有一些小区别:首先observer 不属于法定人数,即不参加选举也不响应提议;其次是 observer 不需要将事务持久化到磁盘,一旦 observer 被重启,需要从 leader 重新同步整个名字空间。
上一篇: JS常用知识点
下一篇: zookeeper集群搭建
推荐阅读
-
利用ASP.NET MVC和Bootstrap快速搭建响应式个人博客站(一)
-
从0到1搭建element后台框架优化篇(打包优化)
-
利用ASP.NET MVC+Bootstrap搭建个人博客之修复UEditor编辑时Bug(四)
-
利用ASP.NET MVC+Bootstrap搭建个人博客之打造清新分页Helper(三)
-
利用ASP.NET MVC+Bootstrap搭建个人博客之praise.js点赞特效插件(二)
-
搭建简单的nodejs http服务器详解
-
使用IDEA配置Maven搭建开发框架ssm教程
-
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
-
vue 搭建后台系统模块化开发详解
-
安卓开发环境配置有哪些方法,android开发环境的搭建步骤