倾述:zookeeper集群的安装配置(3台云主机)

1.前言

在具体讲述安装步骤前,先介绍一下基本版本、环境配置信息。

  • Linux内核版本:3.10.0-327.el7.x86_64
  • Linux发行版本:CentOS7
  • Zookeeper版本:3.5.6
  • Jdk版本:1.8

2.具体的安装步骤

(1)安装jdk

       我们经常在一些大数据组件的安装中看到要有java环境,这是因为很多大数据组件如hadoop、zookeeper、hbase等的底层都是用java编写的,需要运行在jdk上。

       这部分就不重复赘述了,具体可参照我的这篇博文:文章链接(点击)

(2)下载zookeeper合适的版本

        尽量去zookeeper的官网上下载(安全起见),这里附上下载地址:下载链接

在这里插入图片描述
       本文中所选用的zookeeper版本是3.5.6,大家可以按需下载。
在这里插入图片描述
       进入下载界面后看到有两个下载选择,不仅仅是zookeeper,在很多开源软件的下载中都会出现这样的情况。这里我们选择带有“bin”的软件包。


补充:

       软件包分为源码版本和二进制版本。

       源码版本(有时后缀带source)就是代码原片段,是需要进行编译的,一般我们不要下载这种版本,一方面是因为编译的时间较长,另一方面是对于编译语言不太熟悉的人来说,很难应对编译过程中出现的问题。这种源码版本主要受众是那些需要改进源代码的人,有时候不同的业务需求需要我们对源代码进行一定的修改。
       二进制版本(binary)是我们一般选择下载的版本,这种版本都是编译好了的软件包,可以即下即用,比较适合我们普通的需要。


(3)上传与解压

       将下载好的zookeeper软件上传到Linux的指定文件目录下(这个目录可以自定义),我是上传到/home/software下进行安装的。
**关于安装目录,详情请参考这一篇文章:Linux的软件安装目录(小说明)

上传命令rz:
在这里插入图片描述

解压命令
       tar -xvf apache-zookeeper-3.5.6-bin.tar

       (由于我已经安装好了,这里就不展示解压图示了)

       【可选】解压后可以给解压后的文件改个名字

       mv [zookeeper-3.5.6-bin] zookeeper- []里面的按照实际解压出来的文件修改

(4)修改配置文件

       进入zookeeper安装文件下的配置目录

       cd zookeeper/conf
在这里插入图片描述

       复制一份zookeeper的配置模板文件,并改名为zoo.cfg

       cp zoo_sample.cfg zoo.cfg

       进入编辑模式,修改配置 vim zoo.cfg

       这里面主要是要修改两处配置:

       第一处:数据存储目录,这里主要存储快件文件

       dataDir=/home/software/zookeeper/tmp

       可以任意选择,但是这个目录必须要提前创建好,zookeeper是不会帮你创建的(我提前创建好了)

       第二种:添加如下配置

       有几台服务器就加几个服务,我是三台服务器

       server.1=45.64.75.61:2888:3888

       server.2=103.56.114.152:2888:3888

       server.3=103.96.72.5:2888:3888

       特别注意:每一行末尾不要有空格,要不然启动会报错。也就是说3888后面直接换行输入,不要键入空格。

       说明:server.x=ip@p1:p2

        x代表服务器编号,我有三台服务器,依次编号1-3
        IP:广播端口:选举端口

  IP即为你自己的服务器IP地址,依次填上就可以。

  广播端口:该台server与leader节点的通信端口

  选举端口:是在zookeeper节点选举过程中的通信端口

在这里插入图片描述

        clientPort2181是客户端端口,一般默认2181不需要配置。

        至此zoo.cfg配置文件就已经配置结束了。


附:对zoo.cfg配置文件中的一些配置信息进行说明

       tickTime是zookeeper中的时间单元(之后所有关于时间的规定计算都是以这个为基准),单位是毫秒,默认值为2000。同时这也是zookeeper中心跳机制的响应时间间隔,每隔一个tickTime时间,服务器之间或客户端与服务器之间会发送一次心跳;

       在心跳机制中规定,一个会话session的最小心跳超时时间为2*tickTime(两倍心跳时间)。initLimit有两个含义:

  • 一是用于Leader与Follower的初始通信时限,zookeeper中follower服务器初始连接到leader服务器时,所能容忍的最大连接时间。默认是10,也就是10*tickTime=20s;
  • 二是用于节点崩溃恢复后,投票选举新leader的初始化时间;
  • 三是用于follower重启后从leader中同步恢复最新数据,以确保自己的多外服务状态,这个就是限制最大恢复时间

(4)创建myid文件

       进入数据dataDir数据存储目录,在里面创建一个文件myid。cd /home/software/zookeeper/tmp

       touch myid

       在myid中输入当前server的编号,下图就是在第一台服务器上,所以myid中输入1。
在这里插入图片描述

(5)拷贝与修改

–拷贝

       将已经配置好的这台服务器上的zookeeper文件发送到其他服务器上去,这里我们用scp命令。格式为:scp -r [文件目录名] 目的服务器IP:目的目录

       以第二台服务器示例:

       首先我们进入到zookeeper所在父目录 cd /home/software

       scp -r zookeeper 103.56.114.162:/home/software

       第三台服务器一样,换一下IP就可以了。

–修改

       修改拷贝过来的zookeeper中myid值,将数字换做当前服务器的编号。

(6)配置zookeeper的全局环境变量(可选)

       这一步是可以省略的,之所以配置zookeeper的环境变量是为了能够在任一目录下都可以执行zookeeper集群的操作指令,而不需要到zookeeper的bin目录下去启动。

       因为三台服务器都要启动,所以我们采取批量操作:

       点击xshell中的“查看”菜单,选择“撰写”,再选择“撰写栏”
在这里插入图片描述

       之后再左下角会出现一个小蓝白框,单击,选择“全部会话”即可,在白框里面输入指令即可。
在这里插入图片描述

       输入vim /etc/profile,进入配置文件中,之后在每台机器上

       进行zookeeper的信息配置:

export ZK_HOME=/home/software/zookeeper
export PATH=$PATH:$ZK_HOME/bin

在这里插入图片描述

       保存退出即可完成环境变量的配置工作。

(7)启动

       在zookeeper集群中,单独启动一台机器是不会对外提供服务的,必须满足服务过半性原则。在这里我们要分别无各个服务器节点,执行启动zookeeper的启动命令:sh zkServer.sh start

       三台机器都执行完启动命令后,一般会出现这个started。但这个并不能作为zookeeper集群启动成功判断依据。
在这里插入图片描述

       那么如何来判断zookeeper集群已经启动成功了呢?有两种方法:

       第一种:键入jps

       当三台服务器,都出现QuorumPeerMain时,就代表着集群已经启动成功了。
在这里插入图片描述

       PS:这一种方法有时并不准确,即使出现了QuorumPeerMain,也有可能集群启动失败,建议选用第二种方法或者两个结合在一起来看。

       第二种:键入sh zkServer.sh status

       必须启动完集群内所有机器之后,再里输入这个命令!

       如果集群启动失败,那么一般会出现如下提示信息:

在这里插入图片描述

       这时候我们可以去查看集群的启动日志,对症下药,解决问题。关于查看启动日志,对集群可能出现的问题进行自检,我之后会写一篇博客,敬请期待。

       如果集群启动成功,那么会出现如下信息,Node会标明这台服务器在集群中扮演的角色,一般有三种角色,follower、observer、leader。其中follower、leader是通过选举算法选举出来的,observer是需要自己进行设置。

       以上就是zookeeper集群的全部安装过程。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值