单机环境的安装

首先下载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. ftp的虚拟用户的使用

    虚拟用户原理 因为在linux之下,使用vsftp建立用户之后,默认使用ftp访问的时候,是会访问到对应的用户家目录.如果想多个用户同时访问某一个目录,同时对同一目录下有着不同的权限,比如部分用户只能 ...

  2. PHP多参数方法的重构

    假设我们要完成一个保存文章的功能,如果采用函数编程的方式,大概会是下面这个样子: <?php function saveArticle($title, $content, $categoryId ...

  3. 高性能js之js文件的加载与解析

    随着网站的发展,现在的网页已经离不开js,经常一个页面会引入大量的js.那么该如何合理的加载这些js? head标签中引入js文件可能是最常见的一种方式,但是这样会造成一个问题.因为j可以说是浏览器中 ...

  4. python 获取淘宝商品信息

    python cookie 获取淘宝商品信息 # //get_goods_from_taobao import requests import re import xlsxwriter cok='' ...

  5. delphi 窗体的位置和高宽度-TForm:Letf、Top、Width、Height、ClientWidth、ClientHeight

    delphi 窗体的位置和高宽度-TForm:Letf.Top.Width.Height.ClientWidth.ClientHeight [窗体的高度和宽度]: [客户区的高度和宽度]: [窗体在屏 ...

  6. go声明和初始化

    go声明和初始化 当我们第一次看见变量和声明时,我们仅仅看见一些内置的类型,比如整型和字符串.现在我们将学习结构体,并且我们会深入学习包括指针的内容. 通过一种最简单的方式去创建一个结构体值类型: g ...

  7. PHP ftp_get_option() 函数

    定义和用法 The ftp_get_option() 函数返回 FTP 连接的各种运行时选项. 语法 ftp_get_option(ftp_connection,option) 参数 描述 ftp_c ...

  8. 【系统安全性】四、认证Authentication

    四.认证Authentication 1.为什么要认证 对请求.数据进行认证,判断伪造的数据 HTTP请求很脆弱,抓包软件很强大,容易伪造身份,非法获取数据 2.摘要认证 对象:客户端参数.服务端响应 ...

  9. JS对象的引用,对象的拷贝

    目录 一.场景 二.浅拷贝 三.深拷贝 一.场景 除了基本类型跟null,对象之间的赋值,只是将地址指向同一个,而不是真正意义上的拷贝 将一个对象赋值给另外一个对象. var a = [1,2,3]; ...

  10. Javascript 面向对象之继承

    本文参考书籍<<Javascript高级程序设计>> js继承方式:实现继承,主要依靠原型链实现. 原型链:基本思想:利用原型让一个引用类型继承另一个引用类型的属性和方法. 这 ...