1.下载客户端
[root@iZ2ze6x9yc8dbln1yj6rurZ softpackage]# wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
[root@iZ2ze6x9yc8dbln1yj6rurZ softpackage]# tar zxvf zookeeper-3.4.10.tar.gz
[root@iZ2ze6x9yc8dbln1yj6rurZ softpackage]# mv ./zookeeper-3.4.10 /usr/local/soft
[root@iZ2ze6x9yc8dbln1yj6rurZ soft]# cd /usr/local/soft/zookeeper-3.4.10/
[root@iZ2ze6x9yc8dbln1yj6rurZ zookeeper-3.4.10]# ll
total 1588
drwxr-xr-x 2 1001 1001 4096 May 23 14:45 bin
-rw-rw-r-- 1 1001 1001 84725 Mar 23 2017 build.xml
drwxr-xr-x 2 1001 1001 4096 May 23 14:42 conf
drwxr-xr-x 10 1001 1001 4096 Mar 23 2017 contrib
drwxr-xr-x 2 1001 1001 4096 Mar 23 2017 dist-maven
drwxr-xr-x 6 1001 1001 4096 Mar 23 2017 docs
-rw-rw-r-- 1 1001 1001 1709 Mar 23 2017 ivysettings.xml
-rw-rw-r-- 1 1001 1001 5691 Mar 23 2017 ivy.xml
drwxr-xr-x 4 1001 1001 4096 Mar 23 2017 lib
-rw-rw-r-- 1 1001 1001 11938 Mar 23 2017 LICENSE.txt
-rw-rw-r-- 1 1001 1001 3132 Mar 23 2017 NOTICE.txt
-rw-rw-r-- 1 1001 1001 1770 Mar 23 2017 README_packaging.txt
-rw-rw-r-- 1 1001 1001 1585 Mar 23 2017 README.txt
drwxr-xr-x 5 1001 1001 4096 Mar 23 2017 recipes
drwxr-xr-x 8 1001 1001 4096 Mar 23 2017 src
-rw-rw-r-- 1 1001 1001 1456729 Mar 23 2017 zookeeper-3.4.10.jar
-rw-rw-r-- 1 1001 1001 819 Mar 23 2017 zookeeper-3.4.10.jar.asc
-rw-rw-r-- 1 1001 1001 33 Mar 23 2017 zookeeper-3.4.10.jar.md5
-rw-rw-r-- 1 1001 1001 41 Mar 23 2017 zookeeper-3.4.10.jar.sha1
2.修改配置文件
1.单机配置
[root@iZ2ze6x9yc8dbln1yj6rurZ zookeeper-3.4.10]# cd conf/
#将示例的配置文件备份一下
[root@iZ2ze6x9yc8dbln1yj6rurZ conf]# cp zoo_sample.cfg zoo.cfg
[root@iZ2ze6x9yc8dbln1yj6rurZ conf]# vi 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.
#ZK的数据目录(这个目录可以自行指定)
dataDir=/tmp/zookeeper
# the port at which the clients will connect
#客户端连接端口
clientPort=2181
# 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=master:2888:3888
dataDir:指定当前服务器数据存放的路径(目录)
clientPort: 指定当前服务器服务器的端口
server.1=master:2888:3888
server.1/server.2/server.3: 指定服务器的集群情况(有几台服务器)
master/salve:主从配置
1:myid编号
2888:(通信端口)
3888:(选举端口)
2.集群配置
2.1伪分布式
伪分布式部署是指同一台机器上部署多个不同端口的zk服务
zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/zk1
clientPort=2181
server.1=master:2888:3888
server.2=master:2889:3889
server.3=master:2890:3890
zoo2.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/zk2
clientPort=2182
server.1=master:2888:3888
server.2=master:2889:3889
server.3=master:2890:3890
zoo3.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/zk3
clientPort=2183
server.1=master:2888:3888
server.2=master:2889:3889
server.3=master:2890:3890
2.2真分布式
Zookeeper真分布部署在master、slave1、slave2 三台不同的服务器上
server1..../conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/zk
clientPort=2181
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
server2..../conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/zk
clientPort=2181
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
server3..../conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/zk
clientPort=2181
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
3.创建myid文件
myid文件必须手动建立且指定在zk数据目录,也就是dataDir指定的路径(不管真分布还是伪分布都需要指定)。myid 指明自己在集群中的 id,对应上面 zoo.cfg 中 server. 后的数字,第一台的内容为 1,第二台的内容为 2。
[root@iZ2ze6x9yc8dbln1yj6rurZ conf]# cd /tmp/zookeeper/
[root@iZ2ze6x9yc8dbln1yj6rurZ zookeeper]# vi myid
1
[root@iZ2ze6x9yc8dbln1yj6rurZ zookeeper]# cat myid
1
4.启动服务
[root@iZ2ze6x9yc8dbln1yj6rurZ bin]# cd /usr/local/soft/zookeeper-3.4.10/bin
[root@iZ2ze6x9yc8dbln1yj6rurZ bin]# ll
total 424
-rwxr-xr-x 1 1001 1001 232 Mar 23 2017 README.txt
-rwxr-xr-x 1 1001 1001 1937 Mar 23 2017 zkCleanup.sh
-rwxr-xr-x 1 1001 1001 1056 Mar 23 2017 zkCli.cmd
-rwxr-xr-x 1 1001 1001 1534 Mar 23 2017 zkCli.sh
-rwxr-xr-x 1 1001 1001 1628 Mar 23 2017 zkEnv.cmd
-rwxr-xr-x 1 1001 1001 2696 Mar 23 2017 zkEnv.sh
-rwxr-xr-x 1 1001 1001 1089 Mar 23 2017 zkServer.cmd
-rwxr-xr-x 1 1001 1001 6773 Mar 23 2017 zkServer.sh
-rw-r--r-- 1 root root 392777 May 31 14:49 zookeeper.out
[root@iZ2ze6x9yc8dbln1yj6rurZ bin]# ./zkServer.sh start ../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@iZ2ze6x9yc8dbln1yj6rurZ bin]# ps -ef |grep zookeeper
root 7316 1 0 May24 ? 00:04:34 java -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -server -Xmx512m -Xms512m -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -classpath /usr/local/soft/dubbo-monitor/conf:/usr/local/soft/dubbo-monitor/lib/commons-logging-1.2.jar:/usr/local/soft/dubbo-monitor/lib/curator-client-2.12.0.jar:/usr/local/soft/dubbo-monitor/lib/curator-framework-2.12.0.jar:/usr/local/soft/dubbo-monitor/lib/dubbo-2.6.0.jar:/usr/local/soft/dubbo-monitor/lib/dubbo-monitor-simple-2.0.0.jar:/usr/local/soft/dubbo-monitor/lib/fastjson-1.2.31.jar:/usr/local/soft/dubbo-monitor/lib/guava-16.0.1.jar:/usr/local/soft/dubbo-monitor/lib/javassist-3.20.0-GA.jar:/usr/local/soft/dubbo-monitor/lib/javax.servlet-api-3.1.0.jar:/usr/local/soft/dubbo-monitor/lib/jcommon-1.0.16.jar:/usr/local/soft/dubbo-monitor/lib/jetty-6.1.26.jar:/usr/local/soft/dubbo-monitor/lib/jetty-util-6.1.26.jar:/usr/local/soft/dubbo-monitor/lib/jfreechart-1.0.13.jar:/usr/local/soft/dubbo-monitor/lib/jline-0.9.94.jar:/usr/local/soft/dubbo-monitor/lib/log4j-1.2.16.jar:/usr/local/soft/dubbo-monitor/lib/netty-3.2.5.Final.jar:/usr/local/soft/dubbo-monitor/lib/netty-3.7.0.Final.jar:/usr/local/soft/dubbo-monitor/lib/slf4j-api-1.7.25.jar:/usr/local/soft/dubbo-monitor/lib/spring-aop-4.3.10.RELEASE.jar:/usr/local/soft/dubbo-monitor/lib/spring-beans-4.3.10.RELEASE.jar:/usr/local/soft/dubbo-monitor/lib/spring-context-4.3.10.RELEASE.jar:/usr/local/soft/dubbo-monitor/lib/spring-core-4.3.10.RELEASE.jar:/usr/local/soft/dubbo-monitor/lib/spring-expression-4.3.10.RELEASE.jar:/usr/local/soft/dubbo-monitor/lib/spring-web-4.3.10.RELEASE.jar:/usr/local/soft/dubbo-monitor/lib/zookeeper-3.4.8.jar: com.alibaba.dubbo.container.Main
root 18806 1 1 15:43 pts/0 00:00:00 /usr/local/soft/jdk1.8.0_161/bin/java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /usr/local/soft/zookeeper-3.4.10/bin/../build/classes:/usr/local/soft/zookeeper-3.4.10/bin/../build/lib/*.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/netty-3.10.5.Final.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/log4j-1.2.16.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/jline-0.9.94.jar:/usr/local/soft/zookeeper-3.4.10/bin/../zookeeper-3.4.10.jar:/usr/local/soft/zookeeper-3.4.10/bin/../src/java/lib/*.jar:/usr/local/soft/zookeeper-3.4.10/bin/../conf:.:/usr/local/soft/jdk1.8.0_161/lib/dt.jar:/usr/local/soft/jdk1.8.0_161/lib/tools.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain ../conf/zoo.cfg
root 18824 18554 0 15:44 pts/0 00:00:00 grep --color=auto zookeeper
[root@iZ2ze6x9yc8dbln1yj6rurZ bin]# ./zkCli.sh -server 10.0.0.127:2181
Connecting to 10.0.0.127:2181
2018-05-31 16:34:31,615 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
2018-05-31 16:34:31,618 [myid:] - INFO [main:Environment@100] - Client environment:host.name=iZ2ze6x9yc8dbln1yj6rurZ
2018-05-31 16:34:31,618 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_161
2018-05-31 16:34:31,620 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2018-05-31 16:34:31,620 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/local/soft/jdk1.8.0_161/jre
2018-05-31 16:34:31,620 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/usr/local/soft/zookeeper-3.4.10/bin/../build/classes:/usr/local/soft/zookeeper-3.4.10/bin/../build/lib/*.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/netty-3.10.5.Final.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/log4j-1.2.16.jar:/usr/local/soft/zookeeper-3.4.10/bin/../lib/jline-0.9.94.jar:/usr/local/soft/zookeeper-3.4.10/bin/../zookeeper-3.4.10.jar:/usr/local/soft/zookeeper-3.4.10/bin/../src/java/lib/*.jar:/usr/local/soft/zookeeper-3.4.10/bin/../conf:.:/usr/local/soft/jdk1.8.0_161/lib/dt.jar:/usr/local/soft/jdk1.8.0_161/lib/tools.jar
2018-05-31 16:34:31,620 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2018-05-31 16:34:31,620 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2018-05-31 16:34:31,620 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
2018-05-31 16:34:31,620 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux
2018-05-31 16:34:31,621 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
2018-05-31 16:34:31,621 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-514.26.2.el7.x86_64
2018-05-31 16:34:31,621 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root
2018-05-31 16:34:31,621 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root
2018-05-31 16:34:31,621 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/usr/local/soft/zookeeper-3.4.10/bin
2018-05-31 16:34:31,622 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=10.0.0.127:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@446cdf90
2018-05-31 16:34:31,658 [myid:] - INFO [main-SendThread(10.0.0.127:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 10.0.0.127/10.0.0.127:2181. Will not attempt to authenticate using SASL (unknown error)
Welcome to ZooKeeper!
JLine support is enabled
5.ZK可视化客户端
使用图形客户端来远程连接zk,要先打开火墙端口(如果是阿里云服务器还须在安全组中添加端口)
[root@iZ2ze6x9yc8dbln1yj6rurZ bin]# firewall-cmd --zone=public --add-port=2181/tcp --permanent
5.1 idea的zk插件安装
在线安装zookeeper插件,打开Settings>Plugins搜索zookeeper。选择在线安装或者从本地磁盘安装
官网下载插件
Idea zookeeper
打开Settings,选中zookeeper,配置zookeeper连接参数
配置zk连接参数
查看zk数据节点信息
image.png
5.2 ZkInspector
下载客户端 https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip
cd C:\Users\pengyunlong\Downloads\ZooInspector\build
java -jar zookeeper-dev-ZooInspector.jar
ZooInspector
6.其他命令
查看状态
[root@iZ2ze6x9yc8dbln1yj6rurZ bin]# ./zkServer.sh states
ZooKeeper JMX enabled by default
Using config: /usr/local/soft/zookeeper-3.4.10/bin/../conf/zoo.cfg
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
停止服务
[root@iZ2ze6x9yc8dbln1yj6rurZ bin]# ./zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /usr/local/soft/zookeeper-3.4.10/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}








网友评论