Ubuntu部署zookeeper

1 下载

传送门:https://zookeeper.apache.org/releases.html#download
选择所需版本,推荐迅雷下载,浏览器下载相比迅雷较慢.

2 单机部署

2.1 创建文件夹

/home/xdq/xinPrj/zookeeper

mkdir zookeeper
cd zookeeper

2.2 解压文件

  • 解压到当前文件夹
tar -zxvf zookeeper-3.5.1-alpha.tar.gz -C .
  • 文件目录
├── zookeeper
│   ├── zookeeper-3.5.1-alpha
│   │   ├── bin
│   │   ├── build.xml
│   │   ├── CHANGES.txt
│   │   ├── conf
│   │   ├── contrib
│   │   ├── dist-maven
│   │   ├── docs
│   │   ├── ivysettings.xml
│   │   ├── ivy.xml
│   │   ├── lib
│   │   ├── LICENSE.txt
│   │   ├── NOTICE.txt
│   │   ├── README_packaging.txt
│   │   ├── README.txt
│   │   ├── recipes
│   │   ├── src
│   │   ├── zookeeper-3.5.1-alpha.jar
│   │   ├── zookeeper-3.5.1-alpha.jar.asc
│   │   ├── zookeeper-3.5.1-alpha.jar.md5
│   │   └── zookeeper-3.5.1-alpha.jar.sha1
│   └── zookeeper-3.5.1-alpha.tar.gz

2.3 配置文件

  • 创建文件conf/zoo.cfg
    内容拷贝conf/zoo_sample.cfg即可,修改dataDir.
# ZooKeeper时间单位,用于心跳和最小任务超时为tickTime的两倍
tickTime=2000
# 存储数据
dataDir=/home/xdq/xinPrj/zookeeper/datas
# 客户端连接监听端口
clientPort=2181

2.4 Usage

2.4.1 启动ZooKeeper

bin/zkServer.sh start

2.4.2 查看状态

  • cmd
jps
  • Result
    启动成功
30372 Jps
30329 QuorumPeerMain

2.4.3 配置环境变量

sudo vim /.bashrc
export ZOOKEEPER_HOME=/home/xdq/xinPrj/zookeeper/zookeeper-3.5.1-alpha
export PATH=$PATH:$ZOOKEEPER_HOME/bin
  • 生效
source /.bashrc

2.4.4 连接zookeeper

  • cmd
bin/zkCli.sh -server 127.0.0.1:2181
  • Result
2019-07-29 20:32:00,458 [myid:] - INFO  [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@980] - Socket connection established, initiating session, client: /127.0.0.1:52706, server: 127.0.0.1/127.0.0.1:2181
[zk: 127.0.0.1:2181(CONNECTING) 0] 2019-07-29 20:32:00,659 [myid:] - INFO  [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@1400] - Session establishment complete on server 127.0.0.1/127.0.0.1:2181, sessionid = 0x10002ab71280000, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null

2.4.5 关闭ZooKeeper

  • cmd
bin/zkServer.sh stop
  • Result
ZooKeeper JMX enabled by default
Using config: /home/xdq/xinPrj/zookeeper/zookeeper-3.5.1-alpha/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

3 伪分布式部署

3.1 配置hosts

sudo vim /etc/hosts
127.0.0.1 localhost

3.2 zoo.cfg文件

假设伪集群数目:3个,则需要配置三份zoo.cfg,路径:/path/zookeeper/conf/zoo.cfg分别如下

  • zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zk1/data
dataLogDir=/tmp/zk1/log
clientPort=2181
server.1=localhost:2877:3877
server.2=localhost:2888:3888
server.3=localhost:2899:3899
  • zoo2.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zk2/data
dataLogDir=/tmp/zk2/log
clientPort=2182
server.1=localhost:2877:3877
server.2=localhost:2888:3888
server.3=localhost:2899:3899
  • zoo3.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zk3/data
dataLogDir=/tmp/zk3/log
clientPort=2183
server.1=localhost:2877:3877
server.2=localhost:2888:3888
server.3=localhost:2899:3899

3.3 配置zookeeper服务id

dataDir所在的路径下建立myid文件,两种方式:

  • echo写入
echo 1>/tmp/zk1/data/myid
echo 1>/tmp/zk2/data/myid
echo 1>/tmp/zk3/data/myid
  • vim 写入
sudo vim /tmp/zk1/data/myid
sudo vim /tmp/zk2/data/myid
sudo vim /tmp/zk3/data/myid

3.4 Usage

3.4.1 启动ZooKeeper

  • cmd
bin/zkServer.sh start conf/zoo1.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo1.cfg
Starting zookeeper ... STARTED
  • cmd
bin/zkServer.sh start conf/zoo2.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo2.cfg
Starting zookeeper ... STARTED
  • cmd
bin/zkServer.sh start conf/zoo3.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo3.cfg
Starting zookeeper ... STARTED

3.4.2 查看状态

  • cmd
bin/zkServer.sh status conf/zoo1.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo1.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
  • cmd
bin/zkServer.sh status conf/zoo2.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo2.cfg
Client port found: 2182. Client address: localhost.
Mode: leader
  • cmd
bin/zkServer.sh status conf/zoo3.cfg
ZooKeeper JMX enabled by default
Using config: conf/zoo3.cfg
Client port found: 2183. Client address: localhost.
Mode: follower
  • cmd
jps
27233 Jps
26853 QuorumPeerMain
26919 QuorumPeerMain
26619 QuorumPeerMain

3.4.3 关闭ZooKeeper

  • cmd
bin/zkServer.sh stop conf/zoo1.cfg
  • Result
ZooKeeper JMX enabled by default
Using config: /home/xdq/xinPrj/zookeeper/zookeeper-3.5.1-alpha/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

4 真集群部署

序号外网IP内网IP内网映射端口1端口2端口3端口4
110.10.10.10192.168.0.1kafka12181288838889092
210.10.12.12192.168.0.2kafka22181288838889092
310.10.14.14192.168.0.3kafka32181288838889092

4.1 第一台服务

  • zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zk3/data
dataLogDir=/tmp/zk3/log
clientPort=2181
server.1=kafka1:2888:3888
server.2=kafka2:2888:3888
server.3=kafka3:2888:3888

4.2 第二台服务

  • zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zk3/data
dataLogDir=/tmp/zk3/log
clientPort=2181
server.1=kafka1:2888:3888
server.2=kafka2:2888:3888
server.3=kafka3:2888:3888

4.3 第三台服务

  • zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zk3/data
dataLogDir=/tmp/zk3/log
clientPort=2181
server.1=kafka1:2888:3888
server.2=kafka2:2888:3888
server.3=kafka3:2888:3888

4.4 建立id

在dataDir路径下建立myid文件,并写入server.x对应的x,如1,2,3。

  • echo写入
echo 1>/tmp/zk1/data/myid
echo 1>/tmp/zk2/data/myid
echo 1>/tmp/zk3/data/myid
  • vim 写入
sudo vim /tmp/zk1/data/myid
sudo vim /tmp/zk2/data/myid
sudo vim /tmp/zk3/data/myid

4.5 Usage

  • 启动
bin/zkServer.sh start
  • 状态
bin/zkServer.sh status
  • 重启
bin/zkServer.sh restart
  • 关闭
bin/zkServer.sh stop

【参考文献】
[1]https://blog.csdn.net/hg_harvey/article/details/79174104
[2]https://zookeeper.apache.org/doc/current/zookeeperStarted.html
[3]https://www.cnblogs.com/iforever/p/9095095.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值