zookeeper 下载
在虚拟机上快速搭建zookeeper集群
如果你有vagrant和virtualbox,那么你可以通过以下方式快速搭建一个具有3个节点的最小zookeeper集群
# 下载部署文件
git clone https://github.com/47oo/cluster-create-easy.git
cd cluster-create-easy/zookeeper
# 快速创建虚拟机
vagrant up
vagrant ssh node1
单机模式
# use root
# install dep java 1.8+
yum install java
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
mkdir /home/apps
tar -zxf apache-zookeeper-3.6.1-bin.tar.gz -C/home/apps/
ZOOKEEPER=/home/apps/apache-zookeeper-3.6.1-bin
cd ${ZOOKEEPER}
mkdir /var/lib/zookeeper
cat >${ZOOKEEPER}/conf/zoo.cfg<<EOF
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
EOF
# now you can start with cmd
bin/zkServer.sh start
# connecting to zookeeper
bin/zkCli.sh -server 127.0.0.1:2181
集群模式
仅仅需要修改配置文件,并提供对应的主机数量
必须为奇数
,以最少数量三个节点为例
hostname | ip | myid |
---|---|---|
zoo1 | 192.168.0.1 | 1 |
zoo2 | 192.168.0.2 | 2 |
zoo3 | 192.168.0.3 | 3 |
# 每个节点都需要有相同的zoo.conf
cat > conf/zoo.cfg<<EOF
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
EOF
[node1]$ echo 1> /var/lib/zookeeper/myid
[node2]$ echo 2> /var/lib/zookeeper/myid
[node3]$ echo 3> /var/lib/zookeeper/myid
# run on node1 node2 node3
bin/zkServer.sh start
参数介绍
server.id=host:port1:port2
id
对应myid(仅仅支持1-255),且每台机器有且仅有一个且在这组机器中是唯一的myid,host
对应机器的ip地址,port1
quorum端口地址,port2
leader选举专用端口
如果启用了TTL节点的扩展功能,则myid仅仅支持到(1-254)