一. 概述

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. 修正锚点跳转位置 避免头部fixed固定部分遮挡

    如下锚点标签: <div id="id1"> <span class="kkAnchor"></span> 正文正文正文正文 ...

  2. Nginx TLS SNI 不同域名多443转发

    依赖 yum -y install pcre-devel openssl openssl-devel library 编译: mkdir /data/nginx/ -p ./configure --p ...

  3. ReactiveCocoa - study

    //KVO值监控,当alertTip改变时调用, filter对alertTip值进行过滤,此处当alertTip存在而长度不为0时,执行suscribeNext方法,弹出提示 [[RACObserv ...

  4. 无法执行该VI,必须使用LabVIEW完整版开发系统才可以解决该错误

    该错误99%是因为你在某个vi中使用了外部系统组件,比如api,.net组件,ActiveX组件,com组件,所有不是Labview原生的接口,在你打包后,在其他没有安装这些组件的电脑上运行,就会出现 ...

  5. SQL反模式学习笔记6 支持可变属性【实体-属性-值】

    目标:支持可变属性 反模式:使用泛型属性表.这种设计成为实体-属性-值(EAV),也可叫做开放架构.名-值对. 优点:通过增加一张额外的表,可以有以下好处 (1)表中的列很少: (2)新增属性时,不需 ...

  6. 多线程处理list

    package com.zhx.web.invoice.service; import java.util.*; import java.util.concurrent.Callable; impor ...

  7. cache 缓存的处理

    , ) { ? ? ) && ? lstorage.remove(key) : sstorage.remove(key) } /** * 更新缓存配置文件 */ Cache.proto ...

  8. ubantu16.04安装ns2.34 错误

    把ns2.34解压缩之后,sudo ./install 出现的错误: 错误一:安装NS2.34过程中出现如下的错误:tools/ranvar.cc: In member function ‘virtu ...

  9. 03-Python入门学习-Python基础

    一.与用户交互 1.什么是与用户交互 程序等待用户输入一些数据,然后程序执行完毕后为用户反馈信息 2.为何程序要与用户交互 为了让计算机能够像人一样与用户的交互 3.如何用 在python3中:inp ...

  10. Hibernate Session对象核心方法

    1. 持久化对象的状态: 站在持久化的角度,Hibernate 把对象分为四种状态:持久化状态,临时状态,游离状态,删除状态 Session 的特定方法能使对象从一个状态转到另一个状态 临时对象: 在 ...