zookeeper安装

一、zookeeper简介

ZooKeeper 是一种用于分布式应用程序的分布式开源协调服务。它是一个为分布式应用提供高一致性服务的软件,可以使用它实现负载均衡、配置管理,命名服务等功能

二、单节点安装

以下安装以3.6.4版本为例进行讲解

1、获取安装包并解压

cd $HOME/middle
wget -c https://dlcdn.apache.org/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gz
tar -zxvf apache-zookeeper-3.6.4-bin.tar.gz

2、zookeeper目录结构

yiifung@master01 apache-zookeeper-3.6.4-bin]$ ll
total 36
drwxr-xr-x. 2 yiifung yiifung  4096 Dec 18  2022 bin  --------------启动脚本以及命令行所在位置
drwxr-xr-x. 2 yiifung yiifung    77 Dec 18  2022 conf  --------------配置文件所在位置
drwxr-xr-x. 5 yiifung yiifung  4096 Dec 18  2022 docs  ------------文档文件
drwxrwxr-x. 2 yiifung yiifung  4096 Jul 31 21:18 lib
-rw-r--r--. 1 yiifung yiifung 11358 Dec 18  2022 LICENSE.txt
-rw-r--r--. 1 yiifung yiifung  2084 Dec 18  2022 NOTICE.txt
-rw-r--r--. 1 yiifung yiifung  1963 Dec 18  2022 README.md
-rw-r--r--. 1 yiifung yiifung  3166 Dec 18  2022 README_packaging.md
[yiifung@master01 apache-zookeeper-3.6.4-bin]$ 

#配置文件目录
[yiifung@master01 apache-zookeeper-3.6.4-bin]$ cd conf/
[yiifung@master01 conf]$ ll
total 12
-rw-r--r--. 1 yiifung yiifung  535 Dec 18  2022 configuration.xsl
-rw-r--r--. 1 yiifung yiifung 3435 Dec 18  2022 log4j.properties
-rw-r--r--. 1 yiifung yiifung 1148 Dec 18  2022 zoo_sample.cfg
[yiifung@master01 conf]$ 

3、修改配置文件

zookeeper的配置文件是conf/zoo.cfg,可以由zoo_sample.cfg复制出来一个并修改

cd $HOME/middle/apache-zookeeper-3.6.4-bin/conf
cp zoo_sample.cfg zoo.cfg

修改后的配置文件如下所示

[yiifung@master01 conf]$ cat zoo.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/yiifung/middle/apache-zookeeper-3.6.4-bin/data
clientPort=2181

4、启动并连接

cd /home/yiifung/middle/apache-zookeeper-3.6.4-bin/bin
[yiifung@master01 bin]$ pwd
/home/yiifung/middle/apache-zookeeper-3.6.4-bin/bin
[yiifung@master01 bin]$ ./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/yiifung/middle/apache-zookeeper-3.6.4-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[yiifung@master01 bin]$

连接zookeeper服务器

[yiifung@master01 bin]$ ./zkCli.sh -server 127.0.0.1:2181

[zk: 127.0.0.1:2181(CONNECTED) 0] ls 
ls [-s] [-w] [-R] path
[zk: 127.0.0.1:2181(CONNECTED) 1] ls /
[zookeeper]
[zk: 127.0.0.1:2181(CONNECTED) 2]

三、集群安装

  对于集群模式,至少需要三台服务器,如果只有两台服务器,则如果其中一台服务器发生故障,则没有足够的机器来形成多数仲裁。则该服务就无法使用,两台服务器本质上不如一台服务器稳定,因为存在两个单点故障。实际上对于集群服务来说,只要大多数节点(除了Observers之外)都启动了,该服务就会可用。所以强烈建议使用奇数台服务器,例如,对于四台机器,ZooKeeper只能处理一台机器的故障;如果两台计算机发生故障,则其余两台计算机不构成多数,所以四台与三台是一样的,但是,使用五台机器,ZooKeeper可以处理两台机器的故障。
  通常,三台服务器对于生产安装来说绰绰有余,但为了在维护期间获得最大的可靠性,一般安装五台服务器。对于三台服务器,如果对其中一台服务器执行维护,则在该维护期间,其他两台服务器之一很容易出现故障。如果你有五个正在运行,你可以把一个拿下来进行维护,并且如果其他四个中的一个突然出现故障,该服务仍然可以正常运行。
  冗余注意事项应包括环境的所有方面。如果您有三台 ZooKeeper 服务器,但它们的网络电缆都插入同一个网络交换机,那么该交换机的故障将使服务整体瘫痪。
环境准备

IP 主机名 操作系统版本 zookeeper节点
192.168.168.128 master01 CentOS Linux release 7.9.2009 (Core) server.1
192.168.168.127 master02 CentOS Linux release 7.9.2009 (Core) server.2
192.168.168.126 master03 CentOS Linux release 7.9.2009 (Core) server.3

在每台机器上执行如下操作

cd $HOME/middle
wget -c https://dlcdn.apache.org/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gz
tar -zxvf apache-zookeeper-3.6.4-bin.tar.gz
cd $HOME/middle/apache-zookeeper-3.6.4-bin
cd conf
cat <<EOF >zoo.cfg
tickTime=2000
dataDir=/home/yiifung/middle/apache-zookeeper-3.6.4-bin/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.168.128:2888:3888
server.2=192.168.168.127:2888:3888
server.3=192.168.168.126:2888:3888
EOF

在server.N对应的服务器上将server.N中的N值输入到myid文件中

echo  1 >/home/yiifung/middle/apache-zookeeper-3.6.4-bin/data/myid

启动

../bin/zkServer.sh  start

连接

../bin/zkCli.sh  -server 192.168.168.128:2181
../bin/zkCli.sh  -server 192.168.168.127:2181
../bin/zkCli.sh  -server 192.168.168.126:2181

集群状态检查

[yiifung@master01 data]$ ../bin/zkServer.sh  status 
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/yiifung/middle/apache-zookeeper-3.6.4-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
[yiifung@master01 data]$ 

zkServer命令

[yiifung@master02 logs]$ ../bin/zkServer.sh   --help
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /home/yiifung/middle/apache-zookeeper-3.6.4-bin/bin/../conf/zoo.cfg
Usage: ../bin/zkServer.sh [--config <conf-dir>] {start|start-foreground|stop|version|restart|status|print-cmd}

你可能感兴趣的:(#,zookeeper,zookeeper,分布式,云原生)