zookeeper集群安装部署

积雨云 积雨云     2022-11-19     449

关键词:


 zookeeper集群:

zookeeper作为一个开源的分布式应用协调系统,已经用到了许多分布式项目中,用来状态同步服务、集群管理、分布式应用配置项的管理等工作。

ZooKeeper的工作模式有三种:单机模式、集群模式、伪集群模式。

  •   单机模式:Zookeeper只运行在一台服务器上,适合测试用;
  •   伪集群模式:就是在一台机器上运行多个Zookeeper 实例;
  •   集群模式:运行于一个至少有三个节点以上集群中,适合生产环境;

Zookkeeper 集群中有三种角色,leader -主节点 、follower -从节点 、observer-观察节点 ,一个zookeeper集群中,可以有多个follower、observer服务器,但是必需只能有一个leader服务器。如果leader服务器挂掉了,剩下的服务器集群会通过半数以上投票选出一个新的leader服务器。Zookeeper通过复制来实现高可用性,只要集群中半数以上的节点处于可用状态,它就能够保证服务继续。为什么一定要超过半数呢?半数以上投票通过:可以这样理解。客户端的增删改操作无论访问到了哪台zookeeper服务器,最终都会被转发给leader服务器,再由leader服务器分给zookeeper集群中所有follower服务器去投票(投票指的是在内存中做增删改操作),半数投票通过就被认为操作可执行(commit),否则不可执行,因此在生产场集群中至少要三个节点以上,一般节点是单数,如3、5、7 。


 

下面介绍一下搭建Zookeeper集群(3台server)

1. 安装环境

1)  操作系统为三台linux虚拟机,其IP地址分别为:

      uatzp01:10.168.18.97

      uatzp02:10.168.18.98

      uatzp03:10.168.18.99

2)   服务器配置:

     2 Core / 4G Mem / 60G HDD

3)   服务器软件版本:

       linux:CentOS6.6

      zookeeper: zookeeper-3.4.8

      jdk: jdk1.7.0_80

2. 下载

1)  zookeeper下载地址:

    http://apache.01link.hk/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz

2)  jdk下载地址:

    http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz

3. 安装与配置jdk和zookeeper

3.1. jdk安装与配置

1)  解压jdk安装包

     $ sudo tar -zxvf jdk-7u80-linux-x64.tar.gz

2)  修改配置文件/etc/profile添加如下内容:

    export JAVA_HOME=/usr/local/jdk1.7.0_80

    export PATH=$JAVA_HOME/bin:$PATH

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3)  使配置立即生效

    $ . /etc/profile

4)  测试是否安装成功

 执行java -version出现如下内容说明安装成功

    java version "1.7.0_80"

    Java(TM) SE Runtime Environment (build 1.7.0_80-b15)

    Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

 

3.2. zookeeper安装与配置(10.168.18.97)

1)  修改/etc/hosts文件加入如下配置

   10.168.18.97    uatzp01.uaf.com.cn uat-zookeeper01  uatzp01

   10.168.18.98    uatzp02.uaf.com.cn uat-zookeeper02  uatdzp02

   10.168.18.99     uatzp03.uaf.com.cn uat-zookeeper03 uazp03

 

2)  解压zookeeper安装包

    $ sudo tar -zxvf zookeeper-3.4.8.tar.gz

3)  在/usr/local/zp/zookeeper-3.4.8目录下创建以下目录

   $ cd /usr/local/zk/zookeeper-3.4.8

   $ sudo mkdir data

   $ sudo mkdir logs

4)  将zookeeper-3.4.8目录下的zoo_sample.cfg文件拷贝一份,命名为zoo.cfg

   $ sudo cp zoo_sample.cfg zoo.cfg

5)  修改zoo.cfg配置文件

   $ sudo vi zoo.cfg

 

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/usr/local/zp/zookeeper-3.4.8/data

dataLogDir=/usr/local/zp/zookeeper-3.4.8/logs

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

#maxClientCnxns=60

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

server.1= uatzp01:2888:3888

server.2= uatzp02:2888:3888

server.3= uatzp03:2888:3888

配置参数详解:

参数名

说明

tickTime

ZK中的一个时间单元(心跳时间间隔)。单位:毫秒

initLimit

初始化时最长能忍受多少个心跳时间间隔数。

syncLimit

配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度。

dataDir

存储快照文件snapshot的目录。

dataLogDir

事务日志输出目录。

clientPort

对外服务端口号

server.1= uatzp01:2888:3888

server后面的数字代表第几号服务器,uatzp01,uatzp02为集群服务器IP地址映射,2888端口号是zk服务之间通信的端口,3888是zookeeper与其他应用程序通信的端口。

server.2= uatzp02:2888:3888

 

server.3= uatzp03:2888:3888

 

6)  在dataDir=/usr/local/zp/zookeeper-3.4.8/data目录下创建myid文件

  $ sudo vi myid

    编辑myid文件,10.168.18.97 服务器设置内容为1,10.168.18.98 服务器设置内容为2,10.168.18.99 服务器设置内容为3。

 

7)  zpuser用户下修改sudo vi /home/zpuser/.bash_profile,增加如下zookeeper配置

  #zookeeper env

   export ZOOKEEPER_HOME=/usr/local/zp/zookeeper-3.4.8

   export PATH=$ZOOKEEPER_HOME/bin:$PATH

 执行source /home/zpuser/.bash_profile使设置立即生效。

8)  设置zookeeper开机使用user用户启动相关服务

编辑 sudo vi /etc/rc.local添加如下配置:

   su - zpuser -c ‘/usr/local/zp/zookeeper-3.4.8/bin/zkServer.sh start‘

9)  测试是否配置成功

  • 切换到zookeeper安装目录

      $ cd /usr/local/zpzookeeper-3.4.8

  • 执行zookeeper启动命令

        $ zkServer.sh start

   出现如下则说明成功:

    $ zkServer.sh status


      ZooKeeper JMX enabled by default

      Using config: /usr/local/zp/zookeeper-3.4.8/bin/../conf/zoo.cfg

     Starting zookeeper ... STARTED

通过此命令查看zk状态


   ZooKeeper JMX enabled by default

   Using config: /usr/local/zp/zookeeper-3.4.8/bin/../conf/zoo.cfg

   Mode: leader

 


   ZooKeeper JMX enabled by default

   Using config: /usr/local/zp/zookeeper-3.4.8/bin/../conf/zoo.cfg

   Mode: follower

 

  • 通过ps -ef|grep zookeeper命令查看进程。

3.3. zookeeper安装与配置(10.168.18.98、99)

参照以上10.168.18.98、99 设置即可。

 


 

 

zookeeper集群的安装与部署

 一:集群环境模拟三台zookeeper集群环境,IP规划如下:Server1:  192.168.189.129Server2:  192.168.189.131Server3:  192.168.189.132 二:安装环境准备Zookeeper需在java环境下运行,因此在部署zookeeper环境前,需先安... 查看详情

zookeeper集群部署(代码片段)

Zookeeper集群部署前言一、Zookeeper概述1、Zookeeper定义2、Zookeeper工作机制3、Zookeeper特点4、Zookeeper数据结构5、Zookeeper应用场景6、Zookeeper选举机制第一次启动选举机制非第一次启动选举机制二、部署Zookeeper集群准备3台服务器做Zookeepe... 查看详情

zookeeper集群部署(代码片段)

zookeeper集群部署服务器基本信息ip地址安装服务用户名host12.0.2.20zookeeper-3.5.9mppadminqfs00112.0.2.21zookeeper-3.5.9mppadminqfs00212.0.2.22zookeeper-3.5.9mppadminqfs0031安装zookeeper1.1下载安装包apache-zookeeper-3.5.9-bin.tar. 查看详情

zookeeper集群部署(代码片段)

集群规划IP节点名称环境192.168.137.128node128jdk,zookeeper192.168.137.129node129jdk,zookeeper192.168.137.130node130jdk,zookeeper一、安装jdklinux安装jdk二、安装zookeeper1、下载zookeeperhttp://mirror.bit.edu.cn/apache/zookeepe 查看详情

zookeeper安装部署-单点和集群

BuildinstructionsforHadoop(Hadoop编译安装,参考hadoop源码包中BUILDING.txt文档)----------------------------------------------------------------------------------Requirements(编译需求,需要满足以下条件才能编译成功):*UnixSystem*JDK1.6+ 查看详情

zookeeper集群部署

选取172.16.110.17、172.16.110.137、172.16.110.138来部署zookeeper df-lh查看磁盘空间都够用zookeeper源码下载(由于17上已部zookeeper,所以拷过去就行)安装在/opt目录下tar-xvf zookeeper-3.4.6.tar修改配置文件vi/opt/zookeeper-3.4.6/conf/zoo.cfg& 查看详情

zookeeper集群和kafka的相关概念就部署(代码片段)

目录一、zookeeper概述1、zookeeper定义2、zookeeper工作机制3、zookeeper特点4、zookeeper数据结构5、zookeeper应用场景6、zookeeper选举机制第一次启动选举机制非第一次启动选举机制二、部署zookeeper集群1、安装前准备2、安装zookeeper三、消息... 查看详情

zookeeper3.5.9分布式集群部署(代码片段)

一、Zookeeper安装包的下载安装zookeeper是用来进行分布式服务的协调,集群也是一个主集群,它一般是由一个Leader(领导者)和多个Follower(跟随者)组成。1.下载安装包2.上传安装包3.解压安装包4.zookeeper的... 查看详情

zookeeper3.5.9分布式集群部署(代码片段)

一、Zookeeper安装包的下载安装zookeeper是用来进行分布式服务的协调,集群也是一个主集群,它一般是由一个Leader(领导者)和多个Follower(跟随者)组成。1.下载安装包2.上传安装包3.解压安装包4.zookeeper的... 查看详情

大数据讲课笔记6.4zookeeper分布式集群部署(代码片段)

...零、学习目标一、导入新课二、新课讲解(一)ZooKeeper分布式集群部署(二)下载解压ZooKeeper安装包1、下载ZooKeeper安装包2、上传ZooKeeper安装包3、解压ZooKeeper安装包(三)ZooKeeper相关配置1、在master虚拟机... 查看详情

nifi+外部zookeeper集群部署

NIFI+外部zookeeper集群部署 1、配置jdk环境使用rpm-qa|grepjdk指令查看服务器是否安装过jdk,这里一般用于卸载openjdk,[root@hadoop1~]#rpm-qa|grepjava 1.1、openjdk卸载----卸载指令:[root@hadoop1~]#rpm-e--nodeps+安装包名卸载使用这一行命令也可... 查看详情

linux实战——zookeeper集群安装部署(代码片段)

Zookeeper集群安装部署简介ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式... 查看详情

解开kafka神秘的面纱:kafka单机部署和集群部署(代码片段)

文章目录一、前言二、kafka单机安装2.1下载压缩包2.2zookeeper安装2.3kafka安装三、kafka集群安装3.1zookeeper安装3.2kafka的安装3.3两种Topic四、尾声一、前言本文主要介绍kafka的单机和集群模式部署。二、kafka单机安装2.1下载压缩包需要先... 查看详情

zookeeper集群部署手册

一、 准备1、 硬件三台装好RHEL6.7_x64的x86服务器,机器名如下zookeeper01zookeeper02zookeeper032、 软件jdk-7u80-linux-x64.rpmzookeeper-3.4.8.tar.gz二、 安装JDK(root用户执行)1、 拷贝jdk-7u80-linux-x64.rpm到/data01/s 查看详情

zookeeper集群安装部署(超详细操作演示)——linux(代码片段)

Zookeeper集群安装部署(超详细操作演示)——Linux简介安装测试简介ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提... 查看详情

zookeeper部署配置文件

Zookeeper的搭建方式Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。■ 单机模式:   Zookeeper只运行在一台服务器上,适合测试环境;■ 伪集群模式:就是在一台物理机上运行多个Zookeeper实例&... 查看详情

zookeeper安装及部署

...装、配置安装及部署回到顶部一.单机安装、配置1、下载zookeeper二进制安装包下载curl-L-Ohttp://apache.fayea.com/zookeeper/stable/zookeeper-3.4.6.tar.gz解压tarzxvfzookeeper-3.4.6.tar.gz2、设置环境变量ZOOKEEPER_HOME关键字为添加的配置项#/etc 查看详情

zookeeper集群(代码片段)

目录一.Zookeeper概述1.Zookeeper定义2.Zookeeper工作机制3.Zookeeper特点4.Zookeeper数据结构5.Zookeeper应用场景6.Zookeeper选举机制二.部署Zookeeper集群1.环境准备2.安装准备2.安装Zookeeper3.启动Zookeeper一.Zookeeper概述1.Zookeeper定义Zookeeper是一个开源... 查看详情