zookeeper 在linux上安装 & 启动 & 基本操作

一、安装java

sudo apt-get update
sudo apt-get install default-jre

二、安装zookeeper

  下载

wget "http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz"

  解压

tar -xf zookeeper-3.4.14.tar.gz 

  创建配置文件

cd zookeeper-3.4.14/conf/
cp zoo_sample.cfg zoo.cfg

  启动

cd zookeeper-3.4.14/bin/
./zkServer.sh start

三、伪集群模式

  拷贝zookeeper

cp zookeeper-3.4.14 zookeeper-1 -r
cp zookeeper-3.4.14 zookeeper-2 -r
cp zookeeper-3.4.14 zookeeper-3 -r

  修改配置:修改的为各自目录conf下的zoo.cfg,将dataDir、dataLogDir及clientPort修改为各自不同的,并增加ip列表。如zk1的配置:

# 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=/mnt/zookeeper-1/data
dataLogDir=/mnt/zookeeper-1/log
# the port at which the clients will connect
clientPort=12181
# 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=127.0.0.1:12888:13888
server.2=127.0.0.1:14888:15888
server.2=127.0.0.1:16888:17888

  创建data、log目录与myid文件

mkdir -p  /mnt/zookeeper-1/data
mkdir -p  /mnt/zookeeper-2/data
mkdir -p  /mnt/zookeeper-3/data
mkdir -p  /mnt/zookeeper-1/log
mkdir -p  /mnt/zookeeper-2/log
mkdir -p  /mnt/zookeeper-3/log
echo 1 > /mnt/zookeeper-1/data/myid
echo 2 > /mnt/zookeeper-2/data/myid
echo 3 > /mnt/zookeeper-3/data/myid

  分别启动三个zk

./zookeeper-1/bin/zkServer.sh start
./zookeeper-2/bin/zkServer.sh start
./zookeeper-3/bin/zkServer.sh start

  查看状态

root@iZwz9hextk0ee6gik32377Z:~/zookeeper# for((idx=1;idx<=3;++idx)); do ./zookeeper-${idx}/bin/zkServer.sh start; done    
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/zookeeper-1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/zookeeper-2/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/zookeeper-3/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
root@iZwz9hextk0ee6gik32377Z:~/zookeeper# for((idx=1;idx<=3;++idx)); do ./zookeeper-${idx}/bin/zkServer.sh status; done     
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/zookeeper-1/bin/../conf/zoo.cfg
Mode: follower
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/zookeeper-2/bin/../conf/zoo.cfg
Mode: leader
ZooKeeper JMX enabled by default
Using config: /root/zookeeper/zookeeper-3/bin/../conf/zoo.cfg
Mode: follower

四、集群模式

  与伪集群模式类似,区别是部署在不同机器。

五、基本操作

  连接zk。执行bin目录下的zkCli.sh。由于部署时ip已不是默认ip 2181,需要指定ip port

./zkCli.sh -server 127.0.0.1:12181 
[zk: 127.0.0.1:12181(CONNECTED) 5] ls /    
[zookeeper]
[zk: 127.0.0.1:12181(CONNECTED) 6] create /test test
Created /test
[zk: 127.0.0.1:12181(CONNECTED) 7] ls / 
[zookeeper, test]
[zk: 127.0.0.1:12181(CONNECTED) 8] get /test
test
cZxid = 0x400000006
ctime = Mon Apr 06 22:01:48 CST 2020
mZxid = 0x400000006
mtime = Mon Apr 06 22:01:48 CST 2020
pZxid = 0x400000006
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
[zk: 127.0.0.1:12181(CONNECTED) 9] delete /test
[zk: 127.0.0.1:12181(CONNECTED) 10] ls /    
[zookeeper]
[zk: 127.0.0.1:12181(CONNECTED) 11] get /test
Node does not exist: /test
[zk: 127.0.0.1:12181(CONNECTED) 12] quit
Quitting...

  

猜你喜欢

转载自www.cnblogs.com/chinxi/p/12649964.html