> 文档中心 > Zookeeper分布式集群的部署

Zookeeper分布式集群的部署


前言


Apache Zookper分布式系统的服务是基于分布式计算的核心概念而设计,主要目的是给开发人员提供一套容易理解和开发的接口从而简化分布式系统构建的服务。


一、Zookeeper是什么?

Zookeeper本质上是一个分布式的小文件存储系统,提供基于类似文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效的管理。从而用来维护和监控存储的数据变化。

二、Zookeeper分布式集群部署

‘’’
由于Zookeeper集群的运行需要Java环境的支持,所以需要提前安装jdk,在此我们搭建的是Leader+Follower模式的Zookeeper集群。
在这里我使用的zookeeper版本是3.4.9)

zookeeper安装包的下载安装

(1)下载zookeeper安装包
zookeeper的下载地址
(2)上传Zookeeper安装包
将下载好的安装包通过SecureFX上传至linux系统的/export/software/目录下面。
(3)解压Zookeeper安装包
首先我们进入安装包的目录,命令如下:

# cd /export/software

其次,我们解压安装包至/export/servers/目录,命令如下:

# cd /export/software

安装解压完毕,但是并不意味着Zookeeper集群的部署结束,还需要对其进行配置和启动

Zookeeper的配置

(1)修改Zookeeper的配置文件
进入到Zookeeper解压目录下的 conf 目录,复制zoo_sample.cfg并重命名为zoo.cfg,命令如下:

# cd zoo_sample.cfg zoo.cfg

其次,修改配置文件zoo.cfg,分别设置dataDir目录,配置服务器编号与主机名映射关系,设置与主机名的心跳端口和选举端口,具体的配置内容如下:

# 设置通信心跳数  tickTime=2000     #设置初始通信时限.  initLimit=10    # 设置同步通信时长  syncLimit=2    # 存放ZooKeeper运行时数据的目录, 需要提前建立.   dataDir=/export/data/zookeeper/data    # log目录, 如果没有设置该参数, 默认使用dataDir的目录, 需要提前建立.   # 应当谨慎选择日志目录, 使用专用的日志存储设备能很大程度提高系统的性能.   dataLogDir=/data/zookeeper/datalog    # 监听client连接的端口号.   clientPort=2181    # 设置连接到ZooKeeper的客户端的最大数量(限制并发连接的数量, 它通过IP来区分不同的客户端). 此配置选项可以用来阻止某些类别的Dos攻击, 将它设置为0或不设置将会取消对并发连接的限制.   maxClientCnxns=0    # 最小的会话超时时间, 默认为 2 * tickTme 时间  minSessionTimeout=4000    # 最大的会话超时时间默认情况下为 20 倍的会话超时时间  maxSessionTimeout=10000    # 配置Zookeeper集群的服务器编号以及对应的主机名、选举端口号和通信端口号(心跳端口号)  server.1=hadoop01:2888:3888   server.2=hadoop02:2888:3888   server.3=hadoop03:2888:3888

(2)创建myid文件
首先根据配置文件zoo.cfg中设置的dataDir目录,创建zkdata文件夹,命令如下:

# mkdir -p /export/data/zookeeper/zkdata

其次,在zkdata文件夹下创建mydir文件,此文件里面的内容就是服务器编号(zook.cfg文件里面配置 hadoop01对应服务器编号1,Hadoop02对应的服务器编号2,hadoop03对应的服务器编号3)命令如下:

# cd /export/data/zookeeper/zkdata# echo 1>myid

(3)配置环境变量
执行命令 vi /etc/profile,对profile文件进行修改,添加Zookeeper的环境变量,命令如下:

export ZK_HOME=/export/servers/zookeeper-3.4.10export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin

(4)分发Zookeeper相关文件夹到其他的服务器
首先将Zookeeper安装目录分发至hadoop02与hadoop03上。

scp -r /export/servers/zookeeper-3.4.9 hadoop02:/export/seervers/scp -r /export/servers/zookeeper-3.4.9 hadoop03:/export/seervers/

其次将myid文件分发至hadoop02和hadoop03服务器,并对应修改myid文件内容,依次对应服务器编号进行设置,分别为2和3。

scp -r /export/data/zookeeper hadoop02:/export/data/scp -r /export/data/zookeeper hadoop03:/export/data/

最后将profile文件也分发至hadoop02和Hadoop03服务器上面。

scp /etc/profile/ hadoop02:/etc/profile/

(5)使环境变量生效

$ source /etc/profile

zookeeper服务器的启动和关闭

(1)启动zookeeper服务器
首先依次在hadoop01、hadoop02和hadoop03服务器启动Zookeeper服务

$ zkServer.sh start

其次执行相关命令查看Zookeeper的角色

zkServer.sh status

(2)关闭zookeeper服务器

$ zkServer.sh stop

松山湖人才网