zookeeper安装单机版以及集群部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xukaixun005/article/details/87635608
  • 安装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安装包如下:

https://download.csdn.net/download/niit_java/10555696

猜你喜欢

转载自blog.csdn.net/xukaixun005/article/details/87635608