zookeeper01-简

1、安装ZooKeeper(独立模式)

1、部署环境

  • 软件版本
    • ZooKeeper:apache-zookeeper-3.5.9-bin.tar.gz
  • 系统环境
    • 10.1.1.11:CentOSLinuxrelease7.7.1908(Core)

2、下载ZooKeeper

官网:https://zookeeper.apache.org
下载地址:https://archive.apache.org/dist/zookeeper/
安装包:apache-zookeeper-3.5.9-bin.tar.gz    --注意,要下载二进制安装包(名称带bin的)

3、安装ZooKeeper

]# tar zvfx ./apache-zookeeper-3.5.9-bin.tar.gz -C /usr/local/    --解压之后在/usr/local/目录下生成一个名为apache-zookeeper-3.5.9-bin的文件夹
 
]# cd /usr/local/apache-zookeeper-3.5.9-bin/

4、配置zookeeper的环境变量

--向/etc/profile文件添加如下配置
]# vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/apache-zookeeper-3.5.9-bin/
export PATH=$PATH:$ZOOKEEPER_HOME/bin
 
--使配置生效
]# source /etc/profile

5、修改ZooKeeper的配置文件

--将zoo_sample.cfg文件修改为zoo.cfg
]# cp /usr/local/apache-zookeeper-3.5.9-bin/conf/{zoo_sample.cfg,zoo.cfg}
 
--修改zoo.cfg文件
]# vim /usr/local/apache-zookeeper-3.5.9-bin/conf/zoo.cfg
#ZooKeeper服务法心跳时间,单位为ms
tickTime=2000
#投票选举新leader的初始化时间
initLimit=10
#leader与follower心跳检测最大容忍时间,响应超过synclimit*tickTime,leader认为follower“死掉”,从服务器列表中删除follower
synclimit=5
#ZooKeeper对外服务端口
clientPort=2181
#快照目录
dataDir=/tmp/zookeeper/data
#事务日志目录
dataLogDir=/tmp/zookeeper/log
 
--创建目录
]# mkdir -p /tmp/zookeeper/{data,log}

6、添加ZooKeeper服务器编号

  • 在${dataDir}目录(也就是ZooKeeper的数据目录/tmp/zookeeper/data )下创建一个myid文件,并写入一个数值,比如0。
  • myid文件里存放的数值就是ZooKeeper服务器的编号。
]# echo '1' > /tmp/zookeeper/data/myid

7、启动Zookeeper服务

]# zkServer.sh start     --启动zookeeper服务(因为加了zookeeper的环境变量,因此不用使用绝对路径/usr/local/apache-zookeeper-3.5.9-bin/bin/zkServer.sh)
]# zkServer.sh stop      --停止zookeeper服务
]# zkServer.sh status    --查看zookeeper服务的状态

2、安装ZooKeeper(仲裁模式)

1、部署环境

  • 软件版本
    • ZooKeeper:apache-zookeeper-3.5.9-bin.tar.gz
  • 系统环境
    • 10.1.1.11:CentOSLinuxrelease7.7.1908(Core)
    • 10.1.1.12:CentOSLinuxrelease7.7.1908(Core)
    • 10.1.1.13:CentOSLinuxrelease7.7.1908(Core)

 

7、ZooKeeper集群

  • 以上是关于ZooKeeper单机模式的安装与配置,一般在生产环境中使用的都是集群模式,集群模式的配置也比较简单,相比单机模式只需要修改一些配置即可。
--假设一个ZooKeeper集群有三台机器,IP地址分别是:
10.1.1.10
10.1.1.11
10.1.1.12

--依次在三台机器的数据目录中分别添加一个myid文件,其内容是服务器的编号(在同一个集群中,编号唯一):
]# echo '1' > /tmp/zookeeper/data/myid
]# echo '2' > /tmp/zookeeper/data/myid
]# echo '3' > /tmp/zookeeper/data/myid
 
--在三台机器的zoo.cfg文件添加以下配置:
server.1=10.1.1.10:2888:3888
server.2=10.1.1.11:2888:3888
server.3=10.1.1.12:2888:3888
  • 为了便于讲解上面的配置,这里抽象出一个公式,即server.A=B:C:D
    • A是一个数字,代表服务器的编号,就是myid文件里面的值。集群中每台服务器的编号都必须唯一,所以要保证每台服务器中的myid文件中的值不同。
    • B代表服务器的IP地址。
    • C表示服务器与集群中的leader服务器交换信息的端口。
    • D表示选举时服务器相互通信的端口

相关文章

可以认为OpenFeign是Feign的增强版,不同的是OpenFeign支持S...
为进一步规范小程序交易生态、提升用户购物体验、满足用户在...
云原生之使用Docker部署Dashdot服务器仪表盘
本文主要描述TensorFlow之回归模型的基本原理
1.漏洞描述Apache Druid 是一个集时间序列数据库、数据仓库和...
内部类(当作类中的一个普通成员变量,只不过此成员变量是cl...