Zookeeper详解(02) - zookeeper安装部署-单机模式-集群模式

安装包下载

官网首页:https://zookeeper.apache.org/

历史版本下载地址:http://archive.apache.org/dist/zookeeper/

本文使用的3.5.7版本下载地址:http://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz

Zookeeper安装-单机模式

  • 安装前准备

(1)安装Jdk

(2)拷贝Zookeeper安装包到Linux系统下

(3)解压到指定目录

[root@localhost software]# tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

重命名

[root@localhost software]# cd /opt/module/

[root@localhost module]# mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

  • 配置修改

(1)将/opt/module/zookeeper-3.5.7/conf路径下的zoo_sample.cfg修改为zoo.cfg;

[root@localhost zookeeper-3.5.7]# cd /opt/module/zookeeper-3.5.7/conf

[root@localhost conf]# mv zoo_sample.cfg zoo.cfg

(2)打开zoo.cfg文件,修改dataDir路径:

[root@localhost conf]# vi zoo.cfg

修改如下内容:

dataDir=/opt/module/zookeeper-3.5.7/zkData

(3)在/opt/module/zookeeper-3.5.7/这个目录上创建zkData文件夹

[root@localhost conf]# cd /opt/module/zookeeper-3.5.7/

[root@localhost zookeeper-3.5.7]# mkdir zkData

  • 操作Zookeeper

(1)启动Zookeeper

[root@localhost zookeeper-3.5.7]# bin/zkServer.sh start

启动过程日志

[root@localhost zookeeper-3.5.7]# bin/zkServer.sh start

ZooKeeper JMX enabled by default

Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

(2)查看进程是否启动

[root@localhost zookeeper-3.5.7]# jps

33319 QuorumPeerMain

33390 Jps

(3)查看状态:

[root@localhost zookeeper-3.5.7]# bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

Client port found: 2181. Client address: localhost.

Mode: standalone

(4)启动客户端:

[root@localhost zookeeper-3.5.7]# bin/zkCli.sh

(5)退出客户端:

[zk: localhost:2181(CONNECTED) 0] quit

(6)停止Zookeeper

[root@localhost zookeeper-3.5.7]# bin/zkServer.sh stop

配置参数解读

Zookeeper中的配置文件zoo.cfg中参数含义解读如下:

1)tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒

Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。

它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)

2)initLimit =10:LF初始通信时限

集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。

3)syncLimit =5:LF同步通信时限

集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。

4)dataDir:数据文件目录+数据持久化路径

主要用于保存Zookeeper中的数据。

5)clientPort =2181:客户端连接端口

监听客户端连接的端口。

Zookeeper安装-分布式安装部署(3节点)

部署集群

1)集群规划

在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper。

2)解压安装

上传并解压Zookeeper安装包到/opt/module/目录下

[hadoop@hadoop102 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

重命名

[hadoop@hadoop102 software]$ cd /opt/module/

[hadoop@hadoop102 module]$ mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

3)配置zoo.cfg文件

重命名/opt/module/zookeeper-3.5.7/conf目录下的zoo_sample.cfg为zoo.cfg

[hadoop@hadoop102 module]$ cd /opt/module/zookeeper-3.5.7/conf/

[hadoop@hadoop102 conf]$ mv zoo_sample.cfg zoo.cfg

编辑zoo.cfg文件

[hadoop@hadoop102 conf]$ vi zoo.cfg

修改数据存储路径配置

dataDir=/opt/module/zookeeper-3.5.7/zkDate

在文件末尾增加如下配置

#######################cluster##########################

server.2=hadoop102:2888:3888

server.3=hadoop103:2888:3888

server.4=hadoop104:2888:3888

配置参数解读

server.A=B:C:D。

A是一个数字,表示这个是第几号服务器;

集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。

B是这个服务器的地址;

C是这个服务器Follower与集群中的Leader服务器交换信息的端口;

D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

4)配置服务器编号

在/opt/module/zookeeper-3.5.7/目录下创建文件夹zkDate

[hadoop@hadoop102 conf]$ cd /opt/module/zookeeper-3.5.7/

[hadoop@hadoop102 zookeeper-3.5.7]$ mkdir zkDate

在/opt/module/zookeeper-3.5.7/zkData目录下创建一个myid的文件

[hadoop@hadoop102 zookeeper-3.5.7]$ cd zkDate/

[hadoop@hadoop102 zkDate]$ touch myid

注意:在linux中添加配置文件时,一定要在linux里面创建,如果在notepad++里面创建再上传到linux服务器很可能会乱码

编辑myid文件

[hadoop@hadoop102 zkDate]$ vi myid

在文件中添加与server对应的编号:

2

5)分发/opt/module/zookeeper-3.5.7目录内容到hadoop103、hadoop104

[hadoop@hadoop102 module]$ scp -r zookeeper-3.5.7/ hadoop103:/opt/module/

[hadoop@hadoop102 module]$ scp -r zookeeper-3.5.7/ hadoop104:/opt/module/

6)分别在hadoop103、hadoop104上修改myid文件中内容为3、4

启动zookeeper集群

分别启动Zookeeper服务

[hadoop@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh start

[hadoop@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh start

[hadoop@hadoop104 zookeeper-3.5.7]$ bin/zkServer.sh start

查看状态

[hadoop@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

Client port found: 2181. Client address: localhost.

Mode: follower

[hadoop@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

Client port found: 2181. Client address: localhost.

Mode: leader

[hadoop@hadoop104 zookeeper-3.5.7]$ bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

Client port found: 2181. Client address: localhost.

Mode: follower

Zookeeper详解(02) - zookeeper安装部署-单机模式-集群模式的更多相关文章

  1. Greenplum源码编译安装(单机及集群模式)完全攻略

    公司有个项目需要安装greenplum数据库,让我这个gp小白很是受伤,在网上各种搜,结果找到的都是TMD坑货帖子,但是经过4日苦战,总算是把greenplum的安装弄了个明白,单机及集群模式都部署成 ...

  2. Kibana安装(图文详解)(多节点的ELK集群安装在一个节点就好)

    对于Kibana ,我们知道,是Elasticsearch/Logstash/Kibana的必不可少成员. 前提: Elasticsearch-2.4.3的下载(图文详解) Elasticsearch ...

  3. Filebeat-1.3.1安装和设置(图文详解)(多节点的ELK集群安装在一个节点就好)(以Console Output为例)

    前期博客 Filebeat的下载(图文讲解) 前提 Elasticsearch-2.4.3的下载(图文详解) Elasticsearch-2.4.3的单节点安装(多种方式图文详解) Elasticse ...

  4. Rabbit安装(单机及集群,阿里云)

    Rabbit安装(单机及集群,阿里云) 前言 虽然我并不是部署人员,但是自己私人测试环境的各类东东还是得自己安装的. 尤其在规模不大的公司,基本安装部署工作都是后端的份内之事. 那么最令人痛苦的,莫过 ...

  5. Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)

    文章转载自:http://www.mydlq.club/article/97/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...

  6. Redis 5.0.7 讲解,单机、集群模式搭建

    Redis 5.0.7 讲解,单机.集群模式搭建 一.Redis 介绍 不管你是从事 Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业 ...

  7. Zookeeper简介及单机、集群模式搭建

    1.zookeeper简介 一个开源的分布式的,为分布式应用提供协调服务的apache项目. 提供一个简单的原语集合,以便于分布式应用可以在它之上构建更高层次的同步服务. 设计非常易于编程,它使用的是 ...

  8. Spark Tachyon编译部署(含单机和集群模式安装)

    Tachyon编译部署 编译Tachyon 单机部署Tachyon 集群模式部署Tachyon 1.Tachyon编译部署 Tachyon目前的最新发布版为0.7.1,其官方网址为http://tac ...

  9. Zookeeper 2、Zookeeper的安装和配置(集群模式)

    1.下载与解压 Zookeeper下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/ 下载完成以后解压到一个特定目录 同步时间所有节点的时间,并关 ...

  10. Logstash安装和设置(图文详解)(多节点的ELK集群安装在一个节点就好)

    前提 Elasticsearch-2.4.3的下载(图文详解) Elasticsearch-2.4.3的单节点安装(多种方式图文详解) Elasticsearch-2.4.3的3节点安装(多种方式图文 ...

随机推荐

  1. mysql 判断 字段为空 的一个小误区(又忘了)

    今天判断mysql是否为空  直接写某字段 例  image_url !=null 结果数据库不报错误 并且没有返回相对数据. 又忘了这个事.今天特地记录一下. 因为null 表示什么也不是, 不能= ...

  2. ARC144 D - AND OR Equation

    ARC144 D - AND OR Equation Solution 首先可以猜测和答案仅和每一个二进制位以及\(f(0)\)有关系,不妨把按位\(\operatorname{AND}\)和按位\( ...

  3. 5.MongoDB系列之索引(二)

    1. $运算符如何使用索引 1.1 低效的运算符 $ne.$not查询可以使用索引,但不是很有效,尽量避免 1.2 范围查询 范围查询其实是多值查询,根据复核索引规则,尽可能先等值精确匹配,然后范围查 ...

  4. Pipeline流水线设计的最佳实践

    谈到到DevOps,持续交付流水线是绕不开的一个话题,相对于其他实践,通过流水线来实现快速高质量的交付价值是相对能快速见效的,特别对于开发测试人员,能够获得实实在在的收益.很多文章介绍流水线,不管是j ...

  5. C# RulesEngine 规则引擎:从入门到看懵

    说明 RulesEngine 是 C# 写的一个规则引擎类库,读者可以从这些地方了解它: 仓库地址: https://github.com/microsoft/RulesEngine 使用方法: ht ...

  6. node 创建服务器方法

    方法一 let http = require('http') let httpserver = http.createServer(function(req,res){ res.writeHead(2 ...

  7. 【题解】CF991C Candies

    题面传送门 解决思路 看到 \(10^{18}\) 的范围,我们可以想到二分答案.只要对于每一个二分出的答案进行 \(check\) ,如果可行就往比它小的半边找,不可行就往比它大的半边找. 以下是 ...

  8. 2022春每日一题:Day 41

    题目:I Hate It 一个基础的线段树模板,单点修改+区间查询 代码: #include <cstdio> #include <cstdlib> #include < ...

  9. 2022春每日一题:Day 34

    题目:lowbit求和 (没有找到哪个公开题库有这个题) 题意:求数组中任意一对数的异或和的lowbit的总和. 对于异或,二进制位中两个数相等则为0,反之为1,而且此题是要求lowbit,那我们利用 ...

  10. 17、输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词a

    /*输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词a */ #include <stdio.h> #include <stdlib.h> int isWord(ch ...