zookeeper单机和集群安装

http://zookeeper.apache.org/releases.html zookeeper下载地址

版本:zookeeper-3.4.6.tar.gz

本次安装目录:/software/zookeeper-3.4.6/

单机模式安装

单机安装很简单,解压、运行就可以了

1、在/software/zookeeper-3.4.6/目录中解压zk

   tar -zxvf  zookeeper-3.4.6.tar.gz

2、将zk配置zoo_sample.cfg 拷贝一份,并命名为:zoo.cfg

cd  /software/zookeeper-3.4.6/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg

3、运行zk

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

通过上述两个命令就可以启动一个单机的zk server
在这里插入图片描述
4、运行zk客户端

sh zkCli.sh -server localhost:2181

通过这个命令就可以启动一个zk的客户端 在这里插入图片描述
这样单机的zk就搭建完成,下面将介绍集群zk

集群安装(伪集群)

1、集群安装建立在单机安装的基础上,因为电脑配置原因所以我在一台虚拟机上模拟集群安装,首先先来了解一下zk集群的一些概念然后再单机的基础上进行搭建集群

注意 zk的集群最少需要zn+1台机器
在zk集群中包含三种集群角色
leader      用来处理事务请求并统一协调发起提案投票,负责与follower进行通信
follower    处理非事务请求并且参与提案投票,与leader进行数据交换
observer    处理非事务请求不参与投票,与leader进行数据交换,主要用来扩展zk性能

2、集群搭建开始,在home目录下创建一个zookeeper目录,然后拷贝三份zookeeper-3.4.6并且重命名为
zookeeper-3.4.6-01
zookeeper-3.4.6-02
zookeeper-3.4.6-03

cd /home
mkdir zookeeper
cp -r  /software/zookeeper-3.4.6  /home/zookeeper/
mv /home/zookeeper-3.4.6/ /home/zookeeper/zookeeper-3.4.6-01
cp -r  /software/zookeeper-3.4.6  /home/zookeeper/
mv /home/zookeeper-3.4.6/ /home/zookeeper/zookeeper-3.4.6-02
cp -r  /software/zookeeper-3.4.6  /home/zookeeper/
mv /home/zookeeper-3.4.6/ /home/zookeeper/zookeeper-3.4.6-03

查看一下我的路径
zookeeper-3.4.6-01
在这里插入图片描述
zookeeper-3.4.6-02
在这里插入图片描述
zookeeper-3.4.6-03
在这里插入图片描述
3、在每个zk服务下创建两个文件夹 data 和 logs

cd /home/zookeeper/zookeeper-3.4.6-01
mkdir data
mkdir logs
cd /home/zookeeper/zookeeper-3.4.6-02
mkdir data
mkdir logs
cd /home/zookeeper/zookeeper-3.4.6-03
mkdir data
mkdir logs

4、修改每个zk服务的配置文件,这里先配置,下面会有配置文件的详细表示信息
修改zookeeper-3.4.6-01

cd /home/zookeeper/zookeeper-3.4.6-01/conf
vim zoo.cfg

在这里插入图片描述
修改zookeeper-3.4.6-02

cd /home/zookeeper/zookeeper-3.4.6-02/conf
vim zoo.cfg

在这里插入图片描述
修改zookeeper-3.4.6-03

cd /home/zookeeper/zookeeper-3.4.6-03/conf
vim zoo.cfg

在这里插入图片描述
配置文件详解:

tickTime=2000 
代表zk中的时间单位2000毫秒,zk中所有时间都是按这个单位来计算的。

initLimit=10
这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,
而是 Zookeeper 服务器集群中Leader 连接到 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。
当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,
那么表明这个客户端连接失败。这里表示10个ticktime
syncLimit=5
这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,
最长不能超过多少个 tickTime 的时间长度。这个里表示5个ticktime
dataDir=/home/zookeeper/zookeeper-3.4.6-02/data
存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。
建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。
dataLogDir=/home/zookeeper/zookeeper-3.4.6-02/logs
事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能
clientPort=2182
客户端连接server的端口,即对外服务端口,一般设置为2181吧

server.1=127.0.0.1:2880:3880
server.2=127.0.0.1:2881:3881
server.3=127.0.0.1:2882:3882
这里1、2、3表示每个服务的标识,与myid文件里的数字对应
192.168.2.101每个服务的ip
第一个 端口号用于Follower 和Leader之间的数据同步和其它通信端口
第二个 端口用来表示Leader选举过程中投票通信端口

这里注意:搭建伪集群第一个端口号、第二个端口号不能与clientPort端口相同,否则报错、下面贴出报错内容、这个错误占时不知道为什么,后续看源码肯定可以知道答案
在这里插入图片描述

5、为每一个服务配置myid文件,myid文件存在于data目录下
zookeeper-3.4.6-01的myid的值为1
zookeeper-3.4.6-02的myid的值为2
zookeeper-3.4.6-03的myid的值为3
这里的值要与配置文件中server.id的id值对应起来

cd /home/zookeeper/zookeeper-3.4.6-01
vim myid

在这里插入图片描述

cd /home/zookeeper/zookeeper-3.4.6-02
vim myid
cd /home/zookeeper/zookeeper-3.4.6-03
vim myid

注意,请确保每个server的myid文件中id数字不同,并且和server.id=host:port:port中的id一致。另外,id的范围是0~255。 我这里用的vim来创建的myid文件,大家可以通过echo快速创建

6、启动每个zk服务

cd /home/zookeeper/zookeeper-3.4.6-01/bin
./zkServer.sh start
cd /home/zookeeper/zookeeper-3.4.6-02/bin
./zkServer.sh start
cd /home/zookeeper/zookeeper-3.4.6-03/bin
./zkServer.sh start

7、查看状态

 ./zkServer.sh status

在这里插入图片描述

9、查看zk服务输出信息

cd /home/zookeeper/zookeeper-3.4.6-01
tail -500 zookeeper.out

10、停止zk

进入每个zk的bin目录下执行
./zkServer.sh stop

更多请参考:http://itindex.net/detail/40187-zookeeper-管理员-管理

猜你喜欢

转载自blog.csdn.net/u010994966/article/details/94347190