四,Linux基础环境搭建(CentOS7)- 安装Zookeeper

Linux基础环境搭建(CentOS7)-安装Zookeeper

大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题!


一、Zookeeper下载及安装

ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。

ZooKeeper是一个典型的分布式数据一致性的解决方案。分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。ZooKeeper可以保证如下分布式一致性特性。

Zookeeper下载

zookeeper下载链接:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/

将下载的安装包通过Xftp传输到Linux虚拟机/opt/software/中

Zookeeper安装

创建工作路径/usr/zookeeper,下载zookeeper安装包到/opt/software中,然后解压至工作路径。

复制代码
mkdir /usr/zookeeper	#创建工作路径
cd /opt/software		#进入安装包的文件夹
tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/zookeeper/	#解压zookeeper
cd /usr/zookeeper/zookeeper-3.4.10

需要创建zkdata和zkdatalog两个文件夹

复制代码
mkdir zkdata	#创建zkdata
mkdir zkdatalog		#创建zkdatalog

二、配置zoo.cfg文件

配置文件zoo.cfg,进入zookeeper配置文件夹conf,将zoo_sample.cfg文件拷贝一份命名为zoo.cfg,Zookeeper 在启动时会找这个文件作为默认配置文件。

复制代码
cd /usr/zookeeper/zookeeper-3.4.10/conf/
mv zoo_sample.cfg zoo.cfg

对zoo.cfg文件配置如下:(在master执行)

复制代码
vim zoo.cfg

修改如下:

复制代码
tickTime=2000  
initLimit=10
syncLimit=5
dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
clientPort=2181
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

三、master节点新建myid文件

进入zkdata文件夹,创建文件myid,用于表示是几号服务器。master主机中,设置服务器id为1。(集群中设置master为1号服务器,slave1为2号服务器,slave2为3号服务器)

复制代码
cd /usr/zookeeper/zookeeper-3.4.10/zkdata
vim myid

四、配置Zookeeper环境变量

修改/etc/profile文件,配置zookeeper环境变量。

复制代码
vim /etc/profile

#set zookeeper environment  
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10 
PATH=$PATH:$ZOOKEEPER_HOME/bin  
复制代码
source /etc/profile		#生效环境变量

五、同步其他虚拟机

以上已经在主节点master上配置完成ZooKeeper,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的目录下:(在master执行)

复制代码
scp -r /etc/profile root@slave1:/etc/profile	#将环境变量profile文件分发到slave1节点
scp -r /etc/profile root@slave2:/etc/profile	#将环境变量profile文件分发到slave2节点
scp -r /usr/zookeeper root@slave1:/usr/			#将zookeeper文件分发到slave1节点
scp -r /usr/zookeeper root@slave2:/usr/			#将zookeeper文件分发到slave2节点

生效两个从节点的环境变量

复制代码
source /etc/profile		#slave1和slave2都要执行

六、修改slave1和slave2的myid文件

设置myid,在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字。(在slave1和slave2中执行)

复制代码
cd /usr/zookeeper/zookeeper-3.4.10/zkdata
vim myid

实验中设置slave1中为2; slave2中为3:

七、启动Zookeeper

启动ZooKeeper集群。在ZooKeeper集群的每个结点上,执行启动ZooKeeper服务的脚本。注意在zookeeper目录下:(三台机器都执行)

复制代码
cd /usr/zookeeper/zookeeper-3.4.10/bin/
zkServer.sh start		#开启服务
zkServer.sh status		#查看状态

通过上面状态查询结果可见,一个节点是Leader,其余的结点是Follower(Leader不一定是主节点,系统随机分配的)。

至此,zookeeper安装成功。

相关推荐
Marry Andy6 分钟前
Atlas 300l Duo部署qwen3_32b_light
linux·人工智能·经验分享·语言模型·自然语言处理
微露清风15 分钟前
系统性学习Linux-第三讲-进程概念
linux·运维·学习
请你喝好果汁64115 分钟前
Linux-sh -c \dirname
linux·运维·服务器
Trouvaille ~15 分钟前
【Linux】线程同步与互斥(四):线程池与任务管理
linux·运维·服务器·c++·操作系统·线程池·日志系统
qinyia24 分钟前
如何在服务器上查看网络连接数并进行综合分析
linux·运维·服务器·开发语言·人工智能·php
思麟呀27 分钟前
进程间通信
linux·运维·服务器
老兵发新帖31 分钟前
Ubuntu上使用企业微信
linux·ubuntu·企业微信
阿钱真强道40 分钟前
10 jetlinks-mqtt-直连设备-属性-读取-返回
linux·服务器·网络·鸿蒙
燃于AC之乐41 分钟前
【Linux系统编程】Shell解释器完全实现:从命令解析、环境变量管理到内建命令的全面解析
linux·操作系统·命令行工具·进程控制·shell编程
AZ996ZA1 小时前
自学linux第十九天:Cron定时任务完全指南:从入门到排错
linux·运维·服务器