ZOOKEEPER 环境搭建
环境准备
解压ZOOKEEPER
# tar xvf zookeeper-3.4.6.tar.gz -C /opt/app
修改ZOOKEEPER配置
# cp zoo_sample.cfg zoo.cfg [root@quan zookeeper-3.4.6]# mkdir -p /data/zookeeper/data [root@quan zookeeper-3.4.6]# ln -s /data/zookeeper/data/ /opt/app/zookeeper-3.4.6/ [root@quan conf]# vim zoo.cfg # 修改dataDir dataDir=/opt/app/zookeeper-3.4.6/data/ # 添加dataLogDir 日志路径 dataLogDir=/opt/app/zookeeper-3.4.6/logs # 配置三个节点 同时注意/etc/hosts配置 server.1=server01:2888:3888 server.2=server02:2888:3888 server.3=server03:2888:3888
指定节点id
在data下创建myid文件
[root@quan zookeeper-3.4.6]# cd data/ [root@quan data]# ls [root@quan data]# vim myid [root@quan data]# cat myid 1
将zookeeper分别复制至其他node
[root@quan app]# scp -r zookeeper-3.4.6 root@server02:/opt/app [root@quan app]# scp -r zookeeper-3.4.6 root@server03:/opt/app 分别将`server02`和`server03` data目录中 myid 文件修改为2/3 # server02 [root@quan data]# cat myid 2 # server03 [root@quan data]# cat myid 3
启动zookeeper集群
# /opt/app/zookeeper-3.4.6/bin/zkServer.sh start [root@quan bin]# /opt/app/zookeeper-3.4.6/bin/zkServer.sh start JMX enabled by default Using config: /opt/app/zookeeper-3.4.6/bin/../conf/zoo.cfg Starting zookeeper ... STARTED # 查看zookeeper状态 # node01 [root@quan bin]# /opt/app/zookeeper-3.4.6/bin/zkServer.sh status JMX enabled by default Using config: /opt/app/zookeeper-3.4.6/bin/../conf/zoo.cfg Mode: follower # node02 [root@quan data]# /opt/app/zookeeper-3.4.6/bin/zkServer.sh status JMX enabled by default Using config: /opt/app/zookeeper-3.4.6/bin/../conf/zoo.cfg Mode: follower # node03 [root@quan zookeeper-3.4.6]# /opt/app/zookeeper-3.4.6/bin/zkServer.sh status JMX enabled by default Using config: /opt/app/zookeeper-3.4.6/bin/../conf/zoo.cfg Mode: leader
验证zookeeper
[root@quan bin]# /opt/app/zookeeper-3.4.6/bin/zkCli.sh -server server01:2181 Connecting to server01:2181 2017-12-08 14:21:40,794 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT 2017-12-08 14:21:40,796 [myid:] - INFO [main:Environment@100] - Client environment:host.name=server01 2017-12-08 14:21:40,796 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.7.0_71 2017-12-08 14:21:40,798 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation 2017-12-08 14:21:40,798 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/data/software/pinpoint/jdk1.7.0_71/jre 2017-12-08 14:21:40,798 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/opt/app/zookeeper-3.4.6/bin/../build/classes:/opt/app/zookeeper-3.4.6/bin/../build/lib/*.jar:/opt/app/zookeeper-3.4.6/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/app/zookeeper-3.4.6/bin/../lib/slf4j-api-1.6.1.jar:/opt/app/zookeeper-3.4.6/bin/../lib/netty-3.7.0.Final.jar:/opt/app/zookeeper-3.4.6/bin/../lib/log4j-1.2.16.jar:/opt/app/zookeeper-3.4.6/bin/../lib/jline-0.9.94.jar:/opt/app/zookeeper-3.4.6/bin/../zookeeper-3.4.6.jar:/opt/app/zookeeper-3.4.6/bin/../src/java/lib/*.jar:/opt/app/zookeeper-3.4.6/bin/../conf:.:/opt/app/jdk1.7.0_71/lib/dt.jar:/opt/app/jdk1.7.0_71/lib/tools.jar 2017-12-08 14:21:40,798 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 2017-12-08 14:21:40,798 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp 2017-12-08 14:21:40,798 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA> 2017-12-08 14:21:40,798 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux 2017-12-08 14:21:40,798 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64 2017-12-08 14:21:40,798 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-514.el7.x86_64 2017-12-08 14:21:40,799 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root 2017-12-08 14:21:40,799 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root 2017-12-08 14:21:40,799 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/opt/app/zookeeper-3.4.6/bin 2017-12-08 14:21:40,800 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=server01-node01:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@75aa57fb 2017-12-08 14:21:40,832 [myid:] - INFO [main-SendThread(server01-node01:2181):ClientCnxn$SendThread@975] - Opening socket connection to server server01-node01/192.168.90.2:2181. Will not attempt to authenticate using SASL (unknown error) 2017-12-08 14:21:40,836 [myid:] - INFO [main-SendThread(server01-node01:2181):ClientCnxn$SendThread@852] - Socket connection established to server01-node01/192.168.90.2:2181, initiating session Welcome to ZooKeeper! 2017-12-08 14:21:40,855 [myid:] - INFO [main-SendThread(server01-node01:2181):ClientCnxn$SendThread@1235] - Session establishment complete on server server01-node01/192.168.90.2:2181, sessionid = 0x16034c0deaa0001, negotiated timeout = 30000 WATCHER:: WatchedEvent state:SyncConnected type:None path:null JLine support is enabled [zk: server01-node01:2181(CONNECTED) 0] [zk: server01-node01:2181(CONNECTED) 0] help ZooKeeper -server host:port cmd args connect host:port get path [watch] ls path [watch] set path data [version] rmr path delquota [-n|-b] path quit printwatches on|off create [-s] [-e] path data acl stat path [watch] close ls2 path [watch] history listquota path setAcl path acl getAcl path sync path redo cmdno addauth scheme auth delete path [version] setquota -n|-b val path [zk: server01:2181(CONNECTED) 1] ls / [zookeeper] [zk: server01:2181(CONNECTED) 2] quit Quitting... 2017-12-08 14:22:06,112 [myid:] - INFO [main:ZooKeeper@684] - Session: 0x16034c0deaa0001 closed 2017-12-08 14:22:06,113 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@512] - EventThread shut down