zookeeper集群部署
程序员文章站
2024-03-14 21:39:05
...
集群环境
主机操作系统:Ubuntu-16.04-x64
主机列表:
zk1: 192.168.103.15
zk2: 192.168.103.5
zk3: 192.168.103.3
jdk环境:jdk1.8
安装步骤
1. 下载zookeeper
从apache 官网下载zookeeper,这里选择3.4.6版本。
$ cd /opt/
$ wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
修改zk1, zk2, zk3 主机/etc/hosts文件
192.168.103.15 zk1
192.168.103.5 zk2
192.168.103.3 zk3
2. 解压并创建目录
$ cd /opt/
$ tar -zxf zookeeper-3.4.6.tar.gz
$ cd zookeeper-3.4.6
创建data目录用于存储数据文件
$ mkdir /opt/zookeeper-3.4.6/data
在data目录下创建myid文件
$ touch /opt/zookeeper-3.4.6/data/myid
3. 配置zookeeper
$ vim /opt/zookeeper-3.4.6/conf/zoo.cfg
编辑如下内容
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper-3.4.6/data
clientPort=2181
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
配置文件描述
tickTime
- The number of milliseconds of each tick
- 系统心跳间隔,单位为毫秒。如tickTime = 100,则心跳周期为100ms。
dataDir
- the directory where the snapshot is stored.do not use /tmp for storage, /tmp here is just example sakes.
- 存放数据快照的路径
dataLogDir
- 存放日志的路径
initLimit
- The number of ticks that the initial synchronization phase can take
- 当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间
syncLimit
- The number of ticks that can pass between sending a request and getting an acknowledgement
- 配置follower和leader之间发送消息,请求和应答的最大时间长度。
clientPort
- the port at which the clients will connect
- zookeeper服务端口
server.id=host:port1:port2
- server.id 其中id为一个数字,表示zk进程的id,这个id也是data目录下myid文件的内容
- host 是该zk进程所在的IP地址
- port1 表示follower和leader交换消息所使用的端口
- port2 表示选举leader所使用的端口
4. 复制到集群
-
zk2
$ scp -r aaa@qq.com:/opt/zookeeper-3.4.6/ .
-
zk3
$ scp -r aaa@qq.com:/opt/zookeeper-3.4.6/ .
配置myid
-
zk1
$ echo 1 >> /opt/zookeeper-3.4.6/data/myid
-
zk2
$ echo 2 >> /opt/zookeeper-3.4.6/data/myid
-
zk3
$ echo 3 >> /opt/zookeeper-3.4.6/data/myid
5.启动并验证集群
在zk1, zk2, zk3同时执行
$ /opt/zookeeper-3.4.6/bin/zkServer.sh start
验证zookeeper是否启动
$ jps
如果有QuorumPeerMain这个进程,则说明该节点上zookeeper进程启动了。
$ 23283 Jps
$ 23046 QuorumPeerMain
连接zookeeper服务端
/opt/zookeeper-3.4.6/zkCli.sh -server 127.0.0.1:2181
如果能正确建立连接,则说明集群搭建成功
推荐阅读
-
zookeeper集群部署
-
对一篇关于RoR部署方案文章的疑问 博客分类: rails RubyRailsSocket多线程nginx
-
freeBSD下配置nginx+mongrel的rails部署环境 博客分类: ruby rails FreeBSDRailsnginxlighttpdMySQL
-
微博API实现的JAVA微博微创意功能,直接部署可以运行 微博JAVAWEBAPI
-
Kubernetes多租户集群实践 saas企业应用
-
容器镜像服务 联手 IDE 插件,实现一键部署、持续集成与交付 工作
-
Consul框架介绍 博客分类: Consul consul集群架构
-
使用C# 和Consul进行分布式系统协调 博客分类: Consul Consul集群
-
Consul-template的简单应用:配置中心,服务发现与健康监测 博客分类: Consul-templateConsul consulconsul template架构集群
-
Consul框架介绍 博客分类: Consul consul集群架构