1. 程式人生 > >002-zookeeper 基本配置、安裝啟動 windows環境

002-zookeeper 基本配置、安裝啟動 windows環境

cnn 大型 文件目錄 quorum conn 服務端 direct 通信 協調

一. 概述

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=2000

# The number of ticks that the initial
# synchronization phase can take
initLimit=10

# The number of ticks that can pass between
# sending a request and getting anacknowledgement
syncLimit
=5 # the directory where the snapshot isstored. //鏡像數據位置 dataDir=D:\\zookeeper #日誌位置 dataLogDir=D:\\zookeeper\\logs
# the port at which the clients willconnect 客戶端連接的端口 clientPort=2181

  註:如果啟動有報錯提示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.11>cd bin
D:\developToool\zookeeper-3.4.11\bin>zkServer.cmd

啟動後jps可以看到QuorumPeerMain的進程

2.4、啟動客戶端運行查看一下

zkCli.cmd -server 127.0.0.1:2181

三、偽集群

在上述能配置基礎上

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\\1
clientPort=2181
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889

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

dataDir=D:\\zookeeper\\2
clientPort=2182
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889
dataDir=D:\\zookeeper\\3
clientPort=2183
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889

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環境