单机环境的安装

首先下载ZK的二进制安装包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/

将安装包上传到Linux上:

  • 进行解压 : tar zxvf zookeeper-3.4.14.tar.gz

  • 进行更名 : mv zookeeper-3.4.14 zookeeper

  • 删除压缩包 :rm -rf zookeeper-3.4.14.tar.gz

进入到我们更名后的ZK文件夹内创建个文件夹 : mkdir data

进入到conf文件夹 复制一个文件且更名: cp zoo_sample.cfg zoo.cfg

  

对zoo.cfg文件进行编辑 vim zoo.cfg

数据文件夹dataDir指定为我们刚刚创建的那个data文件夹的路径,不要使用系统的/tmp目录作为ZK的数据目录

  

然后我们就可以启动服务了,在解压文件的bin目录下 :

  • 启动服务: ./zkServer.sh start

  • 查看状态: ./zkServer.sh status

单机的我们到这里就算是搭建完成了,用于测试环境还行,由于单机的服务都存在一个致命问题那就是单点故障问题,所以一般在生产环境中诸多这种类型的服务都是以集群的方式出现,下面我们搭建一个由三台服务器构成的的ZK集群

集群环境的搭建

在ZK集群环境下只要一般以上的机器正常启动了,那么这个集群服务就是OK 的,所以一把参与集群的机器都是单,比如5个机器,只需要3个正常就OJBK,下面我们就简单的使用三个机器搭建一下ZK的集群环境,三台机器的ip分别为如下:

  • 192.168.159.159

  • 192.168.159.169

  • 192.168.159.179

和创建单机环境一莫一样的步骤,只是添油加醋

首先我们在159的机器上开动

如法炮制

zk二进制文件上传、解压、更名、参考前面单机安装

首先在解压文件下创建data文件夹,用于保存内存数据库保存的模糊快照 :mkdir data

然后就是复制并更名一个文件 :cp zoo_sample.cfg zoo.cfg

添油加醋

编辑该文件 vim zoo.cfg

  • 第一个修改dataDir指向我们创建的data目录

  • 第二个在下面添加如下图数据

首先解释一下添加并圈起来的数据:

  • sserver.1:表示这个ZK启动后,ZK的myId就是 1

  • 后面跟对应服务器的ip

  • 然后就是2888,这是一个连接端口号,数据通讯的时候(比如同步 )通过这个端口号进行通讯

  • 然后就是3888,这是一个选举端口号,当选举时使用这个端口号进行通讯

创建myid文件

除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个目录也是我们自己创建的,也就是那个data目录,这个文件里面就只有一个数据就是 刚刚配置的那个myId的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个server。

在创建的data文件夹内创建文件: vi myid

每个机器都键入对应myid保存退出即可 比如59的myid为1 ,69的myid为2,就是配置文件中那个myid

配置环境变量

vi /etc/profile 在末端添加如下数据

  • export ZOOKEEPER_HOME=/usr/local/ZK/zookeeper

  • export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

退出保存后进入到 /etc 目录下 执行刷新生效命令 source profile

然后就是我们三台机器的启动工作了:

  • 服务启动:zkServer.sh start

  • 查看状态:zkServer.sh status

三台机器的状态依次为:

  

  

  

这里提醒一下,防火墙我是直接关闭了的,要么你的开通那几个端口,要么直接关闭防火墙服务

集群环境到这里就算搭建完成了

  

Zookeeper的单机&集群环境搭建的更多相关文章

  1. ZooKeeper 完全分布式集群环境搭建

    1. 搭建前准备 示例共三台主机,主机IP映射信息如下: 192.168.32.101 s1 192.168.32.102 s2 192.168.32.103 s3 2.下载ZooKeeper, 以  ...

  2. ZooKeeper 介绍及集群环境搭建

    本篇由鄙人学习ZooKeeper亲自整理的一些资料 包括:ZooKeeper的介绍,我们要学习ZooKeeper的话,首先就要知道他是干嘛的对吧. 其次教大家如何去安装这个精巧的智慧品! 相信你能研究 ...

  3. zookeeper 单机. 集群环境搭建

    zookeeper分布式系统中面临的很多问题, 如分布式锁,统一的命名服务,配置中心,集群的管理Leader的选举等 环境准备 分布式系统中各个节点之间通信,Zookeeper保证了这个过程中 数据的 ...

  4. 大数据 -- zookeeper和kafka集群环境搭建

    一 运行环境 从阿里云申请三台云服务器,这里我使用了两个不同的阿里云账号去申请云服务器.我们配置三台主机名分别为zy1,zy2,zy3. 我们通过阿里云可以获取主机的公网ip地址,如下: 通过secu ...

  5. zookeeper学习之集群环境搭建

    一.安装环境 zookeeper:3.4.6 JDK:1.8 linux:centos6.5  64位 主机: server0:192.168.0.224server1:192.168.0.225se ...

  6. zookeeper伪分布式集群环境搭建

    step1.下载 下载地址:http://zookeeper.apache.org/releases.html 将下载的压缩包放到用户家目录下(其他目录也可以) step2.解压 $tar –zxvf ...

  7. 大数据 -- Hadoop集群环境搭建

    首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.它其实是将一个大文件分成若干块保存在不同服务器的多个节点中.通过联网 ...

  8. ZooKeeper 系列(二)—— Zookeeper单机环境和集群环境搭建

    一.单机环境搭建         1.1 下载         1.2 解压         1.3 配置环境变量         1.4 修改配置         1.5 启动         1. ...

  9. ZooKeeper —— 单机环境和集群环境搭建

    一.单机环境搭建 1.1 下载 下载对应版本Zookeeper,这里我下载的版本3.4.14.官方下载地址:https://archive.apache.org/dist/zookeeper/ # w ...

随机推荐

  1. Java自定义注解Annotation的使用

    从 jdk5开始,Java增加了对元数据的支持,也就是Annotation,Annotation其实就是对代码的一种特殊标记,这些标记可以在编译,类加载和运行时被读取,并执行相应的处理.当然刚刚说了, ...

  2. 【leetcode】970. Powerful Integers

    题目如下: Given two non-negative integers x and y, an integer is powerful if it is equal to x^i + y^j fo ...

  3. SQL SELECT DISTINCT

    SQL SELECT DISTINCT(选择不同) 语法 SELECT DISTINCT语法用于仅返回不同的(different)值. 在一张表内,一列通常包含许多重复的值; 有时你只想列出不同的(d ...

  4. javascript表单验证的例子

    function checkUsername(){ //对username的内容进行验证. //要求:首字符是字母或下划线,其他由下划线字母数字组成,共4-20位 var inputOb=docume ...

  5. Android中怎么破解游戏之修改金币数

    我们在玩游戏的时候总是会遇到一些东东需要进行购买的,但是我们可能又舍不得花钱,那么我们该怎么办呢?那就是用游戏外挂吧!我们这里说的是Android中的游戏,在网上搜索一下移动端游戏外挂,可能会找到一款 ...

  6. ac自动机暴力跳fail匹配——hdu5880

    很简单的题,ac自动机里再维护一个len表示每个状态的串长,用s去query时每到一个结点都要暴力跳fail,因为有可能这个结点不是,但是其fail是危险结点,找到一个就直接break 再用个差分数组 ...

  7. 暴力字符串hash——cf1200E

    #include<bits/stdc++.h> using namespace std; #define ll long long #define N 1000005 #define mo ...

  8. STM32嵌入式开发学习笔记(三):使用按键控制小灯

    按键和小灯一样,也是通过GPIO外设与主板连接,也是通过GPIO_InitStruct类型结构体控制其工作. 查阅技术手册,按钮连接GPIOA控制下的管脚0. 但与之不同的是,按键是一种输入设备,输入 ...

  9. es批量索引

    使用Python操作Elasticsearch数据索引的教程 这篇文章主要介绍了使用Python操作Elasticsearch数据索引的教程,Elasticsearch处理数据索引非常高效,要的朋友可 ...

  10. Django+paramiko实现webshell

    说明 基于 python3.7 + django 2.2.3 实现的 django-webshell,支持颜色显示,支持 tab 命令补全,项目地址:https://github.com/leffss ...