ZooKeeper的安装

本文详细介绍了Zookeeper 3.6.2的下载、安装、配置及测试过程。包括环境准备、上传安装包、解压缩、配置环境变量、软件运行服务器列表、数据目录、myid,以及启动和测试步骤。重点讲解了zoo.cfg配置文件的修改,特别是server.序号配置和dataDir的设定。
摘要由CSDN通过智能技术生成


一、下载安装包

  访问zookeeper的官网下载地址,我这里下载的时候最新版本是3.6.2,大家也可以通过点击下面的超链接去下载。
zookeeper 3.6.2

二、安装

1、环境准备

  ZooKeeper的运行需要依赖于JDK环境,所以我们需要先安装JDK,本人安装的是JDK1.8,至于如何安装,请自行百度,这里默认大家已经具备这个技能了。
  接下来就是ZooKeeper软件,本人使用的是3.6.2版本
  现将我本机上传后的软件截图如下,下图中红色的两个文件就是jdk和zookeeper的安装软件
在这里插入图片描述

2、上传安装包到服务器

  至于上传安装包到服务器上有多种方式,本人使用xftp工具上传到服务器上,大家也可以使用rz命令进行安装包的上传,如果还未安装rz的同学可以通过yum源来进行rz安装,具体安装命令如下:

yum -y install lrzsz

执行完上述的安装命令后效果如下:
安装rz和sz工具
安装完成后,在命令行输入rz,会弹出文件选择框,如下图所示:
在这里插入图片描述

3、解压缩安装包

执行如下命令解压jdk安装包

tar -zxvf jdk-8u121-linux-x64.tar.gz

执行如下命令解压zookeeper安装包

tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz

三、配置

1、配置环境变量

配置JAVA_HOME环境变量,执行如下脚本,打开.bash_profile文件

cd    #执行该命令是为了让控制台跳转到用户的家目录,也可以使用cd ~是同样的效果
vi .bash_profile

打开.bash_profile文件后,追加如下内容:

export JAVA_HOME=/root/jdk1.8.0_121     #添加JAVA_HOME环境变量
export PATH=$PATH:$JAVA_HOME/bin        #添加Java的bin目录到PATH环境变量中

追加后的效果如下图所示:
在这里插入图片描述
配置完成后执行如下命令生效

source .bash_profile

接下来按同样的方法配置ZOOKEEPER_HOME环境变量,这里就不再做详细的描述,直接把配置好的文件内容展示如下:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export KUBECONFIG=/etc/kubernetes/admin.conf

export JAVA_HOME=/root/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin

export ZOOKEEPER_HOME=/root/apache-zookeeper-3.6.2-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin

2、配置软件运行服务器列表

进入zookeeper解压目录下的conf目录

cd $ZOOKEEPER/conf

我们可以看到3个文件,其中有个zoo_sample.cfg文件,这是官方提供的配置样例文件,我们把这个拷贝一份重新命名为zoo.cfg

cp zoo_sample.cfg zoo.cfg

然后我们打开zoo.cfg进行配置文件的修改

vi zoo.cfg

打开后的zoo.cfg文件内容显示如下:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper
clientPort=2181

配置文件详解:

配置项默认值配置描述
tickTime2000Zookeeper服务器之间或客户端之间维持心跳的时间间隔,单位是毫秒
initLimit10Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔(当已经超过 10 个心跳的时间也就是(ticktime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败,总的时间长度就是:10*2000 = 20s)
syncLimit5这个配置项表示Leader与Follower之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是:5*2000 = 10s
dataDir/tmp/zookeeper官方默认是在临时路径下,所以必须要更改到其他目录下,如:/var/zookeeper
clientPort2181这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求

至此只完成了ZooKeeper的默认配置的调整,我们要运行ZooKeeper,需要确定运行机器的台数,本人这里使用三台机器,所以需要在zoo.cfg配置文件底部增加三台服务器的配置,配置格式为

server.序号=IP:内部同步端口:选举端口

示例如下:

server.1=192.168.100.6:2888:3888
server.2=192.168.100.7:2888:3888
server.3=192.168.100.8:2888:3888

3、配置数据目录

  根据上一节的配置项dataDir的值,我们创建对应的目录,本人这里配置的是/var/zookeeper,所以就在/var目录下创建一个zookeeper目录

mkdir -p /var/zookeeper

4、配置myid

  zookeeper需要给每台运行的机器一个自身的标识号,所以在配置项dataDir目录下创建一个myid文件,里面只需写上给当前机器的编号即可,这个编号值来源与zoo.cfg文件中配置的内容,如192.168.100.6是属于server.1的配置项的,所以192.168.100.6的myid的内容需要配置为1,这里我截一下我本机的图片好加强一下理解:
在这里插入图片描述

四、运行

  ZooKeeper的运行方式有多种,我们可以通过运行zkServer.sh来进行查看

zkServer.sh

输出

ZooKeeper JMX enabled by default
Using config: /root/apache-zookeeper-3.6.2-bin/bin/../conf/zoo.cfg
Usage: /root/apache-zookeeper-3.6.2-bin/bin/zkServer.sh [--config <conf-dir>] {start|start-foreground|stop|version|restart|status|print-cmd}

我们可以看到选项有start|start-foreground|stop|version|restart|status|print-cmd这些,我们先按前台启动方式(start-foreground)运行一下zookeeper,这样好观察一下zookeeper的日志输出

按照规划的3台服务器,我们先从192.168.100.6开始启动,进入$ZOOKEEPER_HOME/bin目录下,输入命令:

zkServer.sh start-foreground

运行结果如下:
在这里插入图片描述
会有类似这样的报错,这是正常的,我们当初配置了3台服务器,目前才启动了一台,这些异常是无法连接另外两台而抛出的异常,把另外两台启动后这些异常就消失了。
接下来我们启动192.168.100.7服务器上的zookeeper,结果如下:
在这里插入图片描述
上图也出现了类似的异常,是无法连接第三台服务器导致的
在这里插入图片描述
另外,我们也可以看到服务已经正常启动了,图中红色框选的内容描述的是192.168.100.7服务器上的zookeeper被选为了Leader角色,192.168.100.6服务器上的zookeeper则作为Follower角色,目前192.168.100.8还未启动,但是zookeeper却已经能正常提供服务了,这是因为zookeeper内部采用过半通过的原则,总共3台服务器,启动了2台,系统则认为服务已经是OK的了,可以对外正常提供服务了,接下来我们还是把192.168.100.8上的zookeeper服务也启动起来,启动结果如下:
在这里插入图片描述
没有任何错误,到此zookeeper就全部启动完成了。

五、测试

  运行完成后接下来就是检查运行情况了,我们这里就检查下各个服务器的角色吧,分别在192.168.100.6服务器上运行如下脚本:

zkServer.sh status

运行结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由上面的三张图可以看出,192.168.100.7的角色是Leader,其他都是Follower。
最后,我们在三台服务器中的任意一台上运行zkCli.sh看看是否能成功连接ZooKeeper,运行结果如下:
在这里插入图片描述
当看到Welcome to ZooKeeper就说明连接成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值