Ubuntu16.4 zookeeper-3.4.10 单机多实例部署

上传 zookeeper-3.4.10.tar.gz 到服务器

root@temple-102:/usr/local/temple/jar# ll
total 710940
drwxr-xr-x 2 root root      4096 8月  17 15:10 ./
drwxr-xr-x 7 root root      4096 8月  17 15:33 ../
-rw-r--r-- 1 root root   8534562 8月  17 15:10 apache-maven-3.5.0-bin.tar.gz
-rw-r--r-- 1 root root 266688029 8月  17 15:10 hadoop-2.7.4.tar.gz
-rw-r--r-- 1 root root 185515842 8月  17 15:10 jdk-8u144-linux-x64.tar.gz
-rw-r--r-- 1 root root  28460530 8月  17 15:10 scala-2.11.7.tgz
-rw-r--r-- 1 root root 203728858 8月  17 15:11 spark-2.2.0-bin-hadoop2.7.tgz
-rw-r--r-- 1 root root  35042811 8月  17 15:11 zookeeper-3.4.10.tar.gz

解压并重命名

root@temple-102:/usr/local/temple/jar# tar zxvf zookeeper-3.4.10.tar.gz -C /usr/local/temple/
root@temple-102:/usr/local/temple/jar# cd /usr/local/temple/
root@temple-102:/usr/local/temple# ll
total 28
drwxr-xr-x  7 root root 4096 8月  17 15:33 ./
drwxr-xr-x 11 root root 4096 8月  17 15:06 ../
drwxr-xr-x  3 root root 4096 8月  17 15:34 data/
drwxr-xr-x  2 root root 4096 8月  17 15:10 jar/
drwxr-xr-x  8 uucp  143 4096 7月  22 13:11 jdk/
drwxrwxr-x  6 1001 1001 4096 6月  23  2015 scala/
drwxr-xr-x 10 1001 1001 4096 8月  17 15:34 zookeeper/

配置,复制zoo.cfg文件, 并分别配置

root@temple-102:/usr/local/temple/zookeeper/conf# ll
total 64
drwxr-xr-x  2 1001 1001  4096 8月  17 16:02 ./
drwxr-xr-x 10 1001 1001  4096 8月  17 15:34 ../
-rw-rw-r--  1 1001 1001   535 3月  23 18:14 configuration.xsl
-rw-rw-r--  1 1001 1001  2161 3月  23 18:14 log4j.properties
-rw-r--r--  1 root root  1048 8月  17 15:32 zoo.cfg
-rw-r--r--  1 root root 34842 8月  17 15:53 zookeeper.out
-rw-rw-r--  1 1001 1001   922 3月  23 18:14 zoo_sample.cfg
-rw-r--r--  1 root root  1099 8月  17 16:02 zoo_slave01.cfg
-rw-r--r--  1 root root  1099 8月  17 16:02 zoo_slave02.cfg
-rw-r--r--  1 root root  1099 8月  17 16:02 zoo_slave03.cfg
zoo_slave01.cfg
root@temple-102:/usr/local/temple/zookeeper/conf# cat zoo_slave01.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.
dataDir=/usr/local/temple/data/zk/slave01/data
dataLogDir=/usr/local/temple/data/zk/slave01/dataLog
# 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=192.168.1.102:2889:3889
server.2=192.168.1.102:2890:3890
server.3=192.168.1.102:2891:3891
 
zoo_slave02.cfg

root@temple-102:/usr/local/temple/zookeeper/conf# cat zoo_slave02.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.
dataDir=/usr/local/temple/data/zk/slave02/data
dataLogDir=/usr/local/temple/data/zk/slave02/dataLog
# the port at which the clients will connect
clientPort=2182
# 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=192.168.1.102:2889:3889
server.2=192.168.1.102:2890:3890
server.3=192.168.1.102:2891:3891
zoo_slave03.cfg
root@temple-102:/usr/local/temple/zookeeper/conf# cat zoo_slave03.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.
dataDir=/usr/local/temple/data/zk/slave03/data
dataLogDir=/usr/local/temple/data/zk/slave03/dataLog
# the port at which the clients will connect
clientPort=2183
# 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=192.168.1.102:2889:3889
server.2=192.168.1.102:2890:3890
server.3=192.168.1.102:2891:3891

分别创建上面标红的文件夹

root@temple-102:/usr/local/temple/data/zk# ll
total 20
drwxr-xr-x 5 root root 4096 8月  17 15:39 ./
drwxr-xr-x 3 root root 4096 8月  17 15:34 ../
drwxr-xr-x 4 root root 4096 8月  17 15:40 slave01/
drwxr-xr-x 4 root root 4096 8月  17 15:40 slave02/
drwxr-xr-x 4 root root 4096 8月  17 15:40 slave03/

  

分别创建myid 文件

root@temple-102:/usr/local/temple/data/zk/slave01/data# pwd
/usr/local/temple/data/zk/slave01/data
root@temple-102:/usr/local/temple/data/zk/slave01/data# ll
total 16
drwxr-xr-x 3 root root 4096 8月  17 15:53 ./
drwxr-xr-x 4 root root 4096 8月  17 15:40 ../
-rw-r--r-- 1 root root    2 8月  17 15:43 myid
drwxr-xr-x 2 root root 4096 8月  17 16:02 version-2/
root@temple-102:/usr/local/temple/data/zk/slave01/data# cat myid 
1
root@temple-102:/usr/local/temple/data/zk/slave02/data# pwd
/usr/local/temple/data/zk/slave02/data
root@temple-102:/usr/local/temple/data/zk/slave02/data# ll
total 16
drwxr-xr-x 3 root root 4096 8月  17 15:53 ./
drwxr-xr-x 4 root root 4096 8月  17 15:40 ../
-rw-r--r-- 1 root root    2 8月  17 15:43 myid
drwxr-xr-x 2 root root 4096 8月  17 16:02 version-2/
root@temple-102:/usr/local/temple/data/zk/slave02/data# cat myid 
2
root@temple-102:/usr/local/temple/data/zk/slave03/data# pwd
/usr/local/temple/data/zk/slave03/data
root@temple-102:/usr/local/temple/data/zk/slave03/data# ll
total 16
drwxr-xr-x 3 root root 4096 8月  17 15:53 ./
drwxr-xr-x 4 root root 4096 8月  17 15:40 ../
-rw-r--r-- 1 root root    2 8月  17 15:43 myid
drwxr-xr-x 2 root root 4096 8月  17 16:02 version-2/
root@temple-102:/usr/local/temple/data/zk/slave03/data# cat myid 
3

关闭防火墙

root@temple-102:/usr/local/temple/zookeeper/conf# ufw disable

分别启动, 建议第一次启动使用start-foreground, 方便查看启动错误

root@temple-102:/usr/local/temple/zookeeper/conf# zkServer.sh start-foreground /usr/local/temple/zookeeper/conf/zoo_slave01.cfg
root@temple-102:/usr/local/temple/zookeeper/conf# zkServer.sh start-foreground /usr/local/temple/zookeeper/conf/zoo_slave02.cfg
root@temple-102:/usr/local/temple/zookeeper/conf# zkServer.sh start-foreground /usr/local/temple/zookeeper/conf/zoo_slave03.cfg

查看zookeeper 状态

root@temple-102:/usr/local/temple/zookeeper/conf# zkServer.sh status /usr/local/temple/zookeeper/conf/zoo_slave03.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/temple/zookeeper/conf/zoo_slave03.cfg
Mode: follower

查看进程

root@temple-102:/usr/local/temple/zookeeper/conf# ps -ef | grep zookeeper
root      6085     1  3 16:24 pts/0    00:00:01 /usr/local/temple/jdk/bin/java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /usr/local/temple/zookeeper/bin/../build/classes:/usr/local/temple/zookeepe/bin/../build/lib/*.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/local/temple/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/temple/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/temple/zookeeper/bin/../zookeeper-3.4.10.jar:/usr/local/temple/zookeeper/bin/../src/java/lib/*.jar:/usr/local/temple/zookeeper/bin/../conf:/usr/local/temple/zookeeper/bin/../build/classes:/usr/local/temple/zookeeper/bin/../build/lib/*.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/local/temple/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/temple/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/temple/zookeeper/bin/../zookeeper-3.4.10.jar:/usr/local/temple/zookeeper/bin/../src/java/lib/*.jar:/usr/local/temple/zookeeper/bin/../conf:.:/usr/local/temple/jdk/lib/dt.jar:/usr/local/temple/jdk/lib/tools.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /usr/local/temple/zookeeper/conf/zoo_slave01.cfg
root      6177     1  3 16:24 pts/0    00:00:01 /usr/local/temple/jdk/bin/java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /usr/local/temple/zookeeper/bin/../build/classes:/usr/local/temple/zookeepe/bin/../build/lib/*.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/local/temple/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/temple/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/temple/zookeeper/bin/../zookeeper-3.4.10.jar:/usr/local/temple/zookeeper/bin/../src/java/lib/*.jar:/usr/local/temple/zookeeper/bin/../conf:/usr/local/temple/zookeeper/bin/../build/classes:/usr/local/temple/zookeeper/bin/../build/lib/*.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/local/temple/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/temple/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/temple/zookeeper/bin/../zookeeper-3.4.10.jar:/usr/local/temple/zookeeper/bin/../src/java/lib/*.jar:/usr/local/temple/zookeeper/bin/../conf:.:/usr/local/temple/jdk/lib/dt.jar:/usr/local/temple/jdk/lib/tools.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /usr/local/temple/zookeeper/conf/zoo_slave02.cfg
root      6283     1  4 16:24 pts/0    00:00:01 /usr/local/temple/jdk/bin/java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /usr/local/temple/zookeeper/bin/../build/classes:/usr/local/temple/zookeepe/bin/../build/lib/*.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/local/temple/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/temple/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/temple/zookeeper/bin/../zookeeper-3.4.10.jar:/usr/local/temple/zookeeper/bin/../src/java/lib/*.jar:/usr/local/temple/zookeeper/bin/../conf:/usr/local/temple/zookeeper/bin/../build/classes:/usr/local/temple/zookeeper/bin/../build/lib/*.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/temple/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/local/temple/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/temple/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/temple/zookeeper/bin/../zookeeper-3.4.10.jar:/usr/local/temple/zookeeper/bin/../src/java/lib/*.jar:/usr/local/temple/zookeeper/bin/../conf:.:/usr/local/temple/jdk/lib/dt.jar:/usr/local/temple/jdk/lib/tools.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /usr/local/temple/zookeeper/conf/zoo_slave03.cfg
root      6435  2277  0 16:25 pts/0    00:00:00 grep --color=auto zookeeper
root@temple-102:/usr/local/temple/zookeeper/conf# 

完成

 
原文地址:https://www.cnblogs.com/xiaojf/p/7382420.html