首页 > 图灵资讯 > 技术篇>正文

Zookeeper安装和配置

2023-04-19 16:12:42

Zookeeper是一个提供协调分布式应用的基本服务的分布式开源框架。它向外部应用程序暴露了一组通用服务-分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)简化分布式应用协调及其管理难度,提供高性能的分布式服务。Zookeper本身可以通过Standalone模式安装和运行,但其优势在于通过分布式Zokeper集群(一个Leader,多个Follower),基于一定的策略保证Zookeper集群的稳定性和可用性,从而实现分布式应用的可靠性。

网上有很多关于Zookeeper的介绍,也可以参考文章后面我整理的一些相关链接。

下面简单说明一下Zookeeper的配置

ZooKeeper Standalone模式

从Apache网站上(zookeeper.apache.org)下载Zookeeper软件包,我选择了3.3.6版本的(zookeeper-3.3.6.tar.gz),在Linux机器上安装起来非常容易,只需解压后,简单配置即可启动Zookeeper服务器流程。

zookeper-3.3.cpp在conf目录下使用 zoo_sample.cfg zoo.cfg命令zoo__sample.复制cfg并更名为zoooooo.cfg,配置文件内容如下:

Zookeeper安装和配置_结点

上述配置参数的含义也很简单,引用如下:

tickTime —— 基本的心跳时间单位,毫秒级,ZK基本上所有的时间都是这个时间的整数倍。dataDir —— 如果没有指定的事务日志存储地址,内存数据库快照存储地址(dataLogDir),默认情况下也存放在这条路径下,建议将两个地址分别存放在不同的设备上。

以下启动Zookeeper服务器流程:

Zookeeper安装和配置_数据库_02

Zoookeeper服务器进程可通过jps命令查看,名称为Quorumpermain。

将Zookeeeper服务器连接到客户端,执行以下命令:

Zookeeper安装和配置_zookeeper_03

ZooKeeper Distributed模式模式

Zookeeper分布式模式安装(Zookeeeper集群)也比较容易,下面就来说明一下基本要点。

首先要明确的是,Zookeeper集群是一个独立的分布式协调服务集群。“独立”的意思是,如果你想使用Zookeeper来协调和管理分布式应用程序,简化协调和管理,可以使用任何分布式应用程序,这要归功于Zookeeper的数据模型(Data Model)以及层次命名空间(Hierarchical Namespace)详情请参考httpp://zookeeper.apache.org/doc/trunk/zookeeperOver.html。在设计您的分布式应用协调服务时,首先要考虑的是如何组织层次命名空间。

分布式模式的安装配置如下:

第一步:主机名称到IP地址映射配置

Zookeeper集群有两个关键角色:Leader和Follower。作为一个整体,集群中的所有结点都为分布式应用提供服务,集群中的每个结点都相互连接。因此,在配置Zookeeper集群时,从每个结点的host到IP地址的映射应配置集群中其他结点的映射信息。

例如,以CentOS1为例,我的Zookeeper集群中每个结点的配置,/etc/hosts内容如下:

Zookeeper安装和配置_大数据_04

Zookeper采用Leader election的选举算法。在整个集群运行过程中,只有一个Leader,其他的都是follower。如果Zookeper集群在运行过程中出现问题,系统将使用该算法重新选择Leader。因此,上述映射必须配置在每个结点之间,以确保相互连接。

Zookeeper集群启动时,将首先选择Leader,在Leader中 在election过程中,一个满足选举计算的结点可以成为leader。httpp可以参考整个集群的架构://zookeeper.apache.org/doc/trunk/zookeeperOver.html#sc_designGoals。

第二步:修改Zookeper配置文件

解压zookeeper-3.3.6.tar.gz,conf//修改配置文件zoo.cfg,内容如下:

Zookeeper安装和配置_数据库_05

以上配置说明可参考http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html#sc_RunningReplicatedZooKeeper。

第三步:远程复制分发安装文件

Zookeeper已在机器CentOS1上配置。现在,该配置的安装文件可以远程复制到集群中每个结点对应的目录中:

cd /application/tools/zookeeper-3.3.6 scp -r /application/tools/zookeeper-3.3.6 root@CentOS2:/application/tools scp -r /application/tools/zookeeper-3.3.6 root@CentOS3:/application/tools

第四步:设置myid

在我们配置的datadir指定的目录下,创建一个myid文件,用于识别当前主机,conf/zoo.配置在cfg文件中的server.为什么X中X的数字被输入到Myid文件中?

第五步:启动Zookeper集群

在Zoookeeper集群的每个结点上,执行启动Zookeeper的命令zkserver.sh start,启动后,查看启动日志文件zookeeperer.out, 如果没有报错,说明启动正常

可能出现的异常:

Zookeeper安装和配置_zookeeper_06

处理:关闭CentOS防火墙

上一篇 零基础装Linux安装anaconda以及环境变量,只讲难点,conda命令找不到
下一篇 什么是工作流? - 工作流解决了什么问题

文章素材均来源于网络,如有侵权,请联系管理员删除。