一. 概述

ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

二、安装使用

2.1、下载

  地址:https://mirrors.cnnic.cn/apache/zookeeper/

2.2、Windows下安装

  1》把下载的zookeeper的文件解压到指定目录:D:\developToool\zookeeper-3.4.11

  2》修改conf下增加一个zoo.cfg,内容如下:

  zookeeper的默认配置文件为zookeeper/conf/zoo_sample.cfg,需要将其修改为zoo.cfg。其中各配置项的含义,解释如下:

# The number of milliseconds of each tick  心跳间隔 毫秒每次
tickTime= # The number of ticks that the initial
# synchronization phase can take
initLimit= # The number of ticks that can pass between
# sending a request and getting anacknowledgement
syncLimit= # the directory where the snapshot isstored. //镜像数据位置
dataDir=D:\\zookeeper #日志位置
dataLogDir=D:\\zookeeper\\logs
# the port at which the clients willconnect 客户端连接的端口 clientPort=

  注:如果启动有报错提示cfg文件有错误,可以用zoo_sample.cfg内内容替代也是可以的

1.tickTime:CS通信心跳时间(cs: client serve)
  Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。
  tickTime=2000

2.initLimit:LF初始通信时限
  集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
  initLimit=5,

3.syncLimit:LF同步通信时限
  集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
  syncLimit=2

4.dataDir:数据文件目录   myid 也放这里
  Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
  dataDir=/home/michael/opt/zookeeper/data

5.clientPort:客户端连接端口
  客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
  clientPort=2181

6.服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)

  规则如下:server.N=YYY:A:B

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

    YYY 是这个服务器的 ip 地址;

    A 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;

    B 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 YYY 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

    server.1=127.0.0.1:2888:3888 
    server.2=127.0.0.1:2889:3889

2.3、启动服务端

进入到bin目录,并且启动zkServer.cmd,这个脚本中会启动一个java进程  

D:\developToool\zookeeper-3.4.>cd bin
D:\developToool\zookeeper-3.4.\bin>zkServer.cmd

启动后jps可以看到QuorumPeerMain的进程

2.4、启动客户端运行查看一下

zkCli.cmd -server 127.0.0.1:

三、伪集群

在上述能配置基础上

3.1、CMD配置

将zkServer.cmd复制为:zkServer-1.cmd

在对应的zkServer-1.cmd文件中添加

set ZOOCFG=..\conf\zoo1.cfg

zkServer-2.cmd、zkServer-3.cmd依次类推

set ZOOCFG=..\conf\zoo2.cfg
set ZOOCFG=..\conf\zoo3.cfg

3.2、cfg配置

将原来zoo.cfg复制为zoo1.cfg

dataDir=D:\\zookeeper\\
clientPort=
server.=127.0.0.1::
server.=127.0.0.1::
server.=127.0.0.1::

同时配置:zoo2.cfg、zoo3.cfg

dataDir=D:\\zookeeper\\
clientPort=
server.=127.0.0.1::
server.=127.0.0.1::
server.=127.0.0.1::
dataDir=D:\\zookeeper\\
clientPort=
server.=127.0.0.1::
server.=127.0.0.1::
server.=127.0.0.1::

3.3、增加myid

还需要 在对应的:D:\\zookeeper\\1,D:\\zookeeper\\2,D:\\zookeeper\\3

建立一个文本文件命名为myid,内容就为对应的zoo.cfg里server.后数字

启动zkServer1.cmd、zkServer2.cmd、zkServer3.cmd即可。

002-zookeeper 基本配置、安装启动 windows环境的更多相关文章

  1. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...

  2. 配置ADB到Windows环境变量

    adb 命令可以帮我们快速的管理连接的手机设备,例如执行一些安装apk,卸载apk命令,对于熟悉linux系统的人,可以方便的管理手机目录操作手机文件,还可以通过adb命令查看手机的系统日志等操作. ...

  3. Redis集群主从复制(一主两从)搭建配置教程【Windows环境】

    如何学会在合适的场景使用合适的技术方案,这值得思考. 由于本地环境的使用,所以搭建一个本地的Redis集群,本篇讲解Redis主从复制集群的搭建,使用的平台是Windows,搭建的思路和Linux上基 ...

  4. Ant安装以及环境配置以及使用[windows环境]

    一.安装ant 官方主页http://ant.apache.org下载新版的ant. *下载对应的版本,解压到我们的硬盘. 二.配置环境变量 Window中设置ant环境变量: ANT_HOME    ...

  5. redis安装教程 windows环境

    redis开始入坑啦 安装: gayhub地址:https://github.com/MicrosoftArchive/redis/releases 我装的是win7 64系统  选了第二个 在E盘新 ...

  6. zookeeper集群搭建(windows环境下)

    本次zk测试部署版本为3.4.6版本,下载地址http://mirrors.cnnic.cn/apache/zookeeper/ 限于服务器个数有限本次测试了两种情况 1.单节点方式:部署在一台服务器 ...

  7. FFmpeg安装(windows环境)

    ♣FFmpeg是什么? ♣FFmpeg组成 ♣下载工具 ♣安装FFmpeg ♣应用到j2ee项目 前言:学习视频编码,一定要知道雷霄骅(leixiaohua1020)的专栏 ,伟大的程序员,26岁去世 ...

  8. 7.zookeeper集群搭建(windows环境下)

    转自:https://www.cnblogs.com/xuxiuxiu/p/5868481.html 本次zk测试部署版本为3.4.6版本,下载地址http://mirrors.cnnic.cn/ap ...

  9. sublime test 3 配置安装fortran开发环境

    1.ST3下安装包管理工具Package Control https://jingyan.baidu.com/article/3c343ff7dca2b10d3779633b.html ST主界面下c ...

随机推荐

  1. Dapper官方库 在guid和string互转的问题

    之前在和老何谈论他的开源项目Util中使用MySql的过程中发现了官方dapper在转换guid到string时候的一个错误 Error parsing column 0 (ID=6c2adb93-d ...

  2. Kubernetes国内镜像、下载安装包和拉取gcr.io镜像

    参考:  https://blog.csdn.net/nklinsirui/article/details/80581286

  3. Django 学习第十一天——中间键和上下文处理器

    一.中间键的引入: Django中间件(Middleware)是一个轻量级.底层的"插件"系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出. djang ...

  4. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  5. Pycharm 2018.2.1最新版破解到2099年图解教程

    我破解后的效果图 安装我就不说了 工具解压在随便一个目录(文末有下载百度网盘链接)在 Pycharm安装目录的\bin目录下找到 pycharm.exe.vmoptions 和 pycharm64.e ...

  6. 2017 CCPC Qinhuangdao Site

    A. Balloon Robot 假设机器人$0$时刻位于$0$号位置,那么每个气球所需的时间为$(s_a-b)\bmod m$. 将所有气球按这个时间排序,枚举每个气球的时间作为偏移量,得出最优解即 ...

  7. Chapter 3 Introduction to Objects and Input/Output

    与声明一个primitive variable不同,声明一个对象的时候,并不创建用来存储一个对象的内存空间,而是创建了一个存储该对象所在内存空间的地址. 在java里,new是一个操作符,它让系统分配 ...

  8. vue中,对象数组多层嵌套时,更新数据更新页面

    vue中的对象和数组的元素直接赋值修改时,是不能响应到view中去的 1.对象更新 this.a={title:'列表1’}; this.a.title='列表2’; <h1>{{a.ti ...

  9. (57)Wangdao.com第九天_JavaScript 对象的简介及分类

    对象 引用数据类型. 对象是一种复合的数据类型,可以存储多个不同类型的变量. 以后我们看到的,只要不是String.Number.Boolean.Null.Undefined,那么就一定是 Objec ...

  10. Wireshark简单使用教程2——附视频

    视频链接https://www.bilibili.com/video/av35336089/ 目录 对抓取的流量包进行简单的说明 Wireshark的捕获过滤器和显示过滤器 内容 1.对抓取的流量包进 ...