安装 zookeeper cluster 详解和zk端口说明

假设 3个node

node001 node002 node3

node001执行:

1 xshell 导入安装包 zookeeper-3.4.6.tar.gz

2   tar -zxvf zookeeper-3.4.6.tar.gz  -C /opt

3 vi  /etc/profile   末行加入

export ZOOKEEPER_HOME=/opt/zookeeper-3.4.6/

export JAVA_HOME=/usr/java/jdk1.7.0_67/

PATH=$PATH:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin

4   .     /etc/profile    重新读取环境变量    (zk + tab键自动补全测试zk环境变量是否生效)

5  scp -r /etc/profile node002:/etc/

    scp -r /etc/profile node003:/etc/

6 cd  /opt/zookeeper-3.4.6/conf

7 cp  zoo_sample.cfg    zoo.cfg

8 vi zoo.cfg        修改如下行

    dataDir=/var/zk  原来放在/tmp下不安全

server.1=node001:2888:3888

server.2=node002:2888:3888

server.3=node003:2888:3888

9 scp -r /opt/zookeeper-3.4.6/   node002:/opt

   scp -r /opt/zookeeper-3.4.6/   node003:/opt

10 mkdir -p /var/zk

11 echo 1 > /var/zk/myid

node002 执行

       1 mkdir -p /var/zk

       2 echo 2 > /var/zk/myid

 

node003 执行

       1 mkdir -p /opt/zk

       2 echo 3 > /opt/zk/myid

 

001 002 003 zkServer.sh start    003 是leader,因为003的server_id是3

001 002 003 分别执行zkServer.sh start    002 是leader,因为已经过半了,003只能是follower

    zkServer.sh status 查看zk状态

 

 

一、zookeeper有三个端口(可以修改)

1、2181

2、3888

3、2888

二、3个端口的作用

1、2181:对cline端提供服务

2、3888:选举leader使用

3、2888:集群内机器通讯使用(Leader监听此端口)

 

三、部署时注意

1、单机单实例,只要端口不被占用即可

2、单机伪集群(单机,部署多个实例),三个端口必须修改为组组不一样

如:myid1 : 2181,3888,2888

myid2 : 2182,3788,2788

myid3 : 2183,3688,2688

3、集群(一台机器部署一个实例)

 

四、集群为大于等于3个基数,如 3、5、7....,不宜太多,集群机器多了选举和数据同步耗时时长长,不稳定。目前觉得,三台选举+N台observe很不错。

 

 

 

 

 

 

 

 

 

 

 


 

你可能感兴趣的:(zookeeper)