Linux环境下Zookeeper集群搭建

Zookeeper介绍

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集,提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
总结:Zookeeper负责服务的协调调度.当客户端发起请求时,返回正确的服务器地址.

前置环境

1.ZooKeeper是由java写的,运行时需要java jdk的支持,所以首先你的linux环境上需要有java环境。
关于Java jdk在linux上的安装配置可参见https://blog.csdn.net/qq_45273552/article/details/109997711
2.这里笔者用的是“终端神器”—mobaxterm 来操作的linux,笔者也建议小伙伴们使用这一款比较全能的终端工具,(因为下文中有些操作和这个工具有关)。
想用mobaxterm的小朋友可以来这里下载使用:
链接:https://pan.baidu.com/s/1sQ7N_ApPn59qJvgK__38hQ
提取码:ctgb
3.下载ZooKeeper linux安装包
网址:http://mirrors.hust.edu.cn/apache/zookeeper/
在这里插入图片描述
也可下载我网盘里的版本3.6.0版本:
链接:https://pan.baidu.com/s/1GAAhD4Lykk1IFPrEb25F0A
提取码:2aeq

开始安装:

1.将zookeeper安装包导入linux系统中(利用moxbaxterm终端工具)
在这里插入图片描述
2.解压安装包
命令:tar -xvf apache-zookeeper-3.6.0-bin.tar.gz
在这里插入图片描述
3.使用命令 mv apache-zookeeper-3.6.0-bin zookeeper将其改名为zookeeper便于操作
在这里插入图片描述
4.修改配置文件
在zookeeper根目录下创建文件夹data/log
命令:mkdir data log
在这里插入图片描述
5.跳入conf目录中修改配置文件
复制配置文件并且修改名称
cp zoo_sample.cfg zoo.cfg
在这里插入图片描述
6.利用mobaxterm工具修改zoo.cfg中的配置项
在这里插入图片描述
7.将12,13行的dataDir和datalogDir的路径改为刚刚创建的data和log文件夹的位置
在这里插入图片描述
8.启动zookeeper
跳转到bin目录中 zk启动关闭命令如下.
开启:sh zkServer.sh start 或者 ./zkServer.sh start
关闭:sh zkServer.sh stop
状态:sh zkServer.sh status
在这里插入图片描述

Zookeeper集群安装

提醒:集群安装之前请务必关闭zookeeper服务。(否则搭建过程中会出现端口占用)
1.3.1准备文件夹
在zookeeper根目录中创建新的文件夹zkCluster.
在这里插入图片描述
2.创建zk1/zk2/zk3文件夹
在这里插入图片描述
3.在每个文件夹里创建data/log文件夹.
mkdir {zk1,zk2,zk3}/{data,log}
在这里插入图片描述
4.添加myid文件
分别在zk1/zk2/zk3中的data文件夹中创建新的文件myid.其中的内容依次为1/2/3,与zk节点号对应.
比如:vim myid
编辑1
保存退出
在这里插入图片描述
5.进入conf文件,将其中的zoo.cfg分别复制三份,分别命名为zoo1.cfg,zoo2.cfg,zoo3.cfg,
在这里插入图片描述
6.分别修改这三个文件中的dataDir和dataLogDir的路径,分别指向刚刚在zkCluster集群中创建的data目录的路径
在下方加入当前端口和集群IP地址:通信端口:选举端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7. ZK集群测试
到目录下输入命令:(三台服务器的话至少启动两台,只启动一台会报错)
sh zkServer.sh start zoo1.cfg
sh zkServer.sh start zoo2.cfg
sh zkServer.sh stop zoo1.cfg
sh zkServer.sh status zoo1.cfg

1)当只启动一台时报错
在这里插入图片描述
2)再启动一个后,发现zoo1变成了follower在这里插入图片描述
3)查看zoo2的情况,其为leader
在这里插入图片描述

1.3.6关于zookeeper集群说明
Zookeeper集群中leader负责监控集群状态,follower主要负责客户端链接获取服务列表信息.同时参与投票.

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值