四,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安装成功。

相关推荐
AOwhisky1 天前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
小龙在慢慢变强..1 天前
目录结构(FHS 标准)
linux·运维·服务器
2035去旅行1 天前
嵌入式开发,如何选择C标准库
linux·arm开发
刘延林.1 天前
win11系统下通过 WSL2 安装Ubuntu 24.04 使用RTX 5080 GPU
linux·运维·ubuntu
CodeOfCC1 天前
Linux 嵌入式arm64安装openclaw
linux·运维·服务器
宵时待雨1 天前
linux笔记归纳3:linux开发工具
linux·运维·笔记
magrich1 天前
安装NoMachine并解决无外接显示器桌面黑屏
linux·运维·服务器
fish_xk1 天前
Linus基础指令
linux·服务器
宁波阿成1 天前
在ubuntu22.04源码级安装sub2api
linux·运维·ubuntu·ai·api·token·中转站
charlie1145141911 天前
嵌入式Linux驱动开发(7) 从虚拟设备到真实硬件 —— LED驱动硬件基础
linux·开发语言·驱动开发·内核·c