一. 概述

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. 零基础入门微信小程序开发

    注:本文来源于:<零基础入门微信小程序开发> 课程介绍 本达人课是一个系列入门教程,目标是从 0 开始带领读者上手实战,课程以微信小程序的核心概念作为主线,介绍配置文件.页面样式文件.Ja ...

  2. Flask简述

    Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后 ...

  3. 解码escape类型的unicode

    content = Regex.Unescape(content);

  4. matplotlib注解-【老鱼学matplotlib】

    本节讲述在图片中添加注解. 直接上代码: import numpy as np import pandas as pd import matplotlib.pyplot as plt # 生成x轴上的 ...

  5. 一起学HBase——简单介绍HBase各种组件

    HBase是谷歌BigTble的开源实现.谷歌的三篇论文拉开了大数据江湖的序幕,铸就了现在以Hadoop为主的大数据技术生态圈.而HBase是开源的大数据数据库,和传统的行式数据库不同的是,HBase ...

  6. String hashcode的兴趣试玩

    今天突然看到Hashcode和equals,==比较时,一时兴起,想了解一下hashcode生成规则,为什么hashcode相同,无法说明对象相等,但用equals说明相同,却可以推出对象的hashc ...

  7. 20172328 2018-2019《Java软件结构与数据结构》第四周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第四周学习总结 概述 Generalization 本周学习了第六章·列表,主要让我们认识列表以及分析各种列表实现. 教材 ...

  8. 如何让多个li居中于ul中间

    设置ul的display:table,text-align:center. 注意:不可以设置ul的宽,不然无法实现.

  9. Object 中 equals()使用

    详细看: https://www.cnblogs.com/naihuangbao/p/9445027.html 1. ==是判断两个变量或实例是不是指向同一个内存空间equals是判断两个变量或实例所 ...

  10. XVII Open Cup named after E.V. Pankratiev. GP of Siberia, Division 1

    1. Ski race 枚举枚举倍数判断即可.时间复杂度$O(n\log m)$. #include<cstdio> #include<algorithm> using nam ...