1 资源
资源信息 | 版本号 | 备注 |
---|---|---|
服务器 | Centos7 | IP: 192.168.51.4 |
JRE | 1.8 | 如果已安装请忽略 |
zookeeper | 3.4.10 |
2 JDK安装
zookeeper是需要依赖于JDK环境的,如果未安装,可参考博文:
3 zookeeper安装与配置
3.1 上传服务器
将文件上传到服务器的 /opt/module/software
目录
[root@localhost ~]# cd /opt/module/software/
[root@localhost software]# ll
总用量 323500
-rw-r--r--. 1 root root 34961231 3月 23 14:43 zookeeper-3.4.10.tar.gz.zip
3.2 安装
3.2.1 解压到指定目录
[root@localhost software]# unzip zookeeper-3.4.10.tar.gz.zip
Archive: zookeeper-3.4.10.tar.gz.zip
inflating: zookeeper-3.4.10.tar.gz
[root@localhost software]# tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
3.2.2 修改配置
[root@localhost software]# cd /opt/module/zookeeper-3.4.10/conf/
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg
[root@localhost conf]# vi /opt/module/zookeeper-3.4.10/conf/zoo.cfg
修改内容
dataDir=/opt/module/zookeeper-3.4.10/zkData
创建目录
[root@localhost conf]# mkdir /opt/module/zookeeper-3.4.10/zkData -p
3.2.3 配置参数解读
# The number of milliseconds of each tick
# 心跳 2000ms
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
# Leader和Follow刚开始通信的时候,初始化最大的延迟时间:10个心跳,一个心跳2000毫秒,20秒,超过说明连接不上
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
# 集群正常启动后,Leader和Follow通信的最大延迟时间: 5 * 2000 毫秒
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
# 日志和数据存储路径
dataDir=/opt/module/zookeeper-3.4.10/zkData
dataLogDir=/opt/module/zookeeper-3.4.10/zkData/log
# the port at which the clients will connect
# 客户端访问服务的端口号 IP + clientPort
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
# 限制连接到zk客户端的数量,根据IP来区分不同的客户端。默认不开启,不限制连接数量
#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
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
# Jetty使用的端口号
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
1.clientPort =2181:客户端连接端口
客户端连接server的端口,即对外服务端口,默认端口为2181
2.dataDir : 存储快照文件snapshot的目录
简单说是 数据文件目录+数据持久化路径
,默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。
3.dataLogDir: 事务日志输出目录
尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能。
4.initLimit = 10
Leader和Follow刚开始通信的时候,初始化最大的延迟时间:10个心跳,一个心跳2000毫秒,20秒,超过说明连接不上
5.tickTime =2000:通信心跳数
Zookeeper服务器与客户端心跳时间,单位毫秒。
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。
它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)
**6.syncLimit = 5 **
集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。目前配置的是Leader和Follow通信最大延迟时间: 5 * 2000 毫秒
3.4 测试启动
3.4.1 启动 Zookeeper
[root@localhost software]# cd /opt/module/zookeeper-3.4.10/bin
[root@localhost bin]# ./zkServer.sh start
3.4.2 查看进程
[root@localhost bin]# jps
72935 QuorumPeerMain
72955 Jps
3.4.3 查看状态
[root@localhost bin]# /opt/module/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: standalone
3.4.4 客户端
[root@localhost zookeeper-3.4.10]# /opt/module/zookeeper-3.4.10/bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 0]
退出
[zk: localhost:2181(CONNECTED) 0] quit
3.4.5 停止 Zookeeper
[root@localhost zookeeper-3.4.10]# /opt/module/zookeeper-3.4.10/bin/zkServer.sh stop
4 相关信息
- 博文不易,辛苦各位猿友点个关注和赞,感谢
网友评论