- 安装zookeeper单机版
1、将最后面附件中的压缩包上传到linux服务器解压:
[root@CLOUD172 opt]# tar –xvf zookeeper-3.4.13.tar.gz
2、进入conf目录,将zoo_sample.cfg启用,重命名为zoo.cfg。
[root@CLOUD172 opt]# cd zookeeper-3.4.13/conf
[root@CLOUD172 conf]#mv zoo_sample.cfg zoo.cfg
3、打开zoo.cfg,修改下面两处配置:
dataDir=/opt/zookeeper-3.4.13/data #数据存储的目录
clientPort=2181 #服务监听的端口
4、进入bin目录,启动zookeeper服务:
[root@CLOUD172 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@CLOUD172 bin]#
如果打印的日志像上面这样,就说明zookeeper启动成功了,则把该机器IP和端口2181在GAIA的zookeeper地址上配置。
5、查看zookeeper运行状态:
[root@CLOUD172 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: standalone
[root@CLOUD172 bin]#
6、停止zookeeper运行状态:
[root@CLOUD172 bin]# ./zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
You have mail in /var/spool/mail/root
[root@CLOUD172 bin]#
7、连接到zookeeper查看数据
[root@CLOUD172 bin]# ./zkCli.sh -server 10.10.1.33:2181
Connecting to 10.10.1.33:2181
2019-02-18 17:04:04,392 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
2019-02-18 17:04:04,396 [myid:] - INFO [main:Environment@100] - Client environment:host.name=CLOUD172
2019-02-18 17:04:04,396 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.7.0_60
2019-02-18 17:04:04,398 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2019-02-18 17:04:04,398 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/opt/java/jdk1.7/jre
2019-02-18 17:04:04,398 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/opt/zookeeper/server2/zookeeper-3.4.13/bin/../build/classes:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../build/lib/*.jar:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../lib/slf4j-log4j12-1.7.25.jar:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../lib/slf4j-api-1.7.25.jar:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../lib/netty-3.10.6.Final.jar:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../lib/log4j-1.2.17.jar:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../lib/jline-0.9.94.jar:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../lib/audience-annotations-0.5.0.jar:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../zookeeper-3.4.13.jar:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../src/java/lib/*.jar:/opt/zookeeper/server2/zookeeper-3.4.13/bin/../conf:/opt/java/jdk1.7/lib
2019-02-18 17:04:04,398 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/opt/oracle/oracle/product/11.2.0/db_1/lib::/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2019-02-18 17:04:04,398 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2019-02-18 17:04:04,398 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
2019-02-18 17:04:04,398 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux
2019-02-18 17:04:04,399 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
2019-02-18 17:04:04,399 [myid:] - INFO [main:Environment@100] - Client environment:os.version=2.6.32-279.el6.x86_64
2019-02-18 17:04:04,399 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root
2019-02-18 17:04:04,399 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root
2019-02-18 17:04:04,399 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/opt/zookeeper/server2/zookeeper-3.4.13/bin
2019-02-18 17:04:04,400 [myid:] - INFO [main:ZooKeeper@442] - Initiating client connection, connectString=10.10.1.33:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@29acfd6
Welcome to ZooKeeper!
2019-02-18 17:04:04,422 [myid:] - INFO [main-SendThread(CLOUD172:2181):ClientCnxn$SendThread@1029] - Opening socket connection to server CLOUD172/10.10.1.33:2181. Will not attempt to authenticate using SASL (unknown error)
2019-02-18 17:04:04,427 [myid:] - INFO [main-SendThread(CLOUD172:2181):ClientCnxn$SendThread@879] - Socket connection established to CLOUD172/10.10.1.33:2181, initiating session
JLine support is enabled
2019-02-18 17:04:04,437 [myid:] - INFO [main-SendThread(CLOUD172:2181):ClientCnxn$SendThread@1303] - Session establishment complete on server CLOUD172/10.10.1.33:2181, sessionid = 0x10402151be40005, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: 10.10.1.33:2181(CONNECTED) 0] ls /ueca/rule
[257642800, 269517918, -542453677, -1048250110, -62971822, -48976061, 751817087, -1836292012, 1767826334, -1235465021, 1923142486, 1718425916, -1048932550, -1324838104]
[zk: 10.10.1.33:2181(CONNECTED) 1]
- 安装集群的zookeeper,同机部署两个实例。
1、创建两个目录server1和server2,分别存放两个实例:
[root@CLOUD172 zookeeper]# ll
总用量 8
drwxr-xr-x. 3 root root 4096 2月 18 14:17 server1
drwxr-xr-x. 3 root root 4096 2月 18 14:20 server2
[root@CLOUD172 zookeeper]#
2、进入conf目录,将zoo_sample.cfg启用,重命名为zoo.cfg
[root@CLOUD172 zookeeper]# cd server1/zookeeper-3.4.13/conf/
[root@CLOUD172 conf]# mv zoo_sample.cfg zoo.cfg
[root@CLOUD172 zookeeper]# cd server2/zookeeper-3.4.13/conf/
[root@CLOUD172 conf]# mv zoo_sample.cfg zoo.cfg
3、打开zoo.cfg进行集群配置:
(1)Server1的配置如下:
dataDir=../data #数据存储的目录
clientPort=2181 #服务监听的端口
server.1=10.10.1.33:2888:3888 #实例1交互实例2时占用的端口
server.2=10.10.1.33:2889:3889 #实例2交互实例1时占用的端口
(2)Server2的配置如下:
dataDir=../data
clientPort=2181
server.1=10.10.1.33:2888:3888
server.2=10.10.1.33:2889:3889
server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。
4、创建serverId标识:
(1)进入server1和bin同级的文件夹,创建data目录,进入data目录,创建myid文件,文件内容输入“1”:
[root@CLOUD172 zookeeper-3.4.13]# pwd
/opt/zookeeper/server1/zookeeper-3.4.13
[root@CLOUD172 zookeeper-3.4.13]# mkdir data
[root@CLOUD172 zookeeper-3.4.13]# cd data
[root@CLOUD172 data]# touch myid
[root@CLOUD172 data]# echo "1" > myid
[root@CLOUD172 data]# more myid
1
[root@CLOUD172 data]#
(2)同理配置server2的myid:
[root@CLOUD172 zookeeper-3.4.13]# pwd
/opt/zookeeper/server2/zookeeper-3.4.13
[root@CLOUD172 zookeeper-3.4.13]# mkdir data
[root@CLOUD172 zookeeper-3.4.13]# cd data
[root@CLOUD172 data]# touch myid
[root@CLOUD172 data]# echo "2" > myid
[root@CLOUD172 data]# more myid
1
[root@CLOUD172 data]#
5、分别进入bin目录启动两个实例,查看两个实例的状态,发现一主一从:
[root@CLOUD172 bin]# pwd
/opt/zookeeper/server1/zookeeper-3.4.13/bin
[root@CLOUD172 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/server1/zookeeper-3.4.13/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@CLOUD172 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/server1/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower
You have mail in /var/spool/mail/root
[root@CLOUD172 bin]#
[root@CLOUD172 bin]# pwd
/opt/zookeeper/server2/zookeeper-3.4.13/bin
[root@CLOUD172 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/server2/zookeeper-3.4.13/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
You have mail in /var/spool/mail/root
[root@CLOUD172 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/server2/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader
[root@CLOUD172 bin]#
6、Zookeeper其他操作同单机版。
- 附件
Zookeeper安装包如下: