天天看點

win10搭建zookeeper3.4.14版本僞叢集實戰

前面兩篇部落格介紹了分布式相關的一些話題以及對zookeeper的一些了解。本篇部落格記錄基于win10系統搭建zookeeper3.4.14版本的僞叢集,并為後面的實戰做環境基礎準備。

一、依賴環境準備

1.java JDK安裝

2.zookeeper 3.4.14.tar.gz

3.在D盤建立目錄:D:\programefiles\zookeeper

二、環境安裝配置

1.解壓zookeeper安裝包,并複制五份,如下圖:

win10搭建zookeeper3.4.14版本僞叢集實戰

2.修改配置檔案,以zookeeper-1為例,重命名zookeeper-1/conf目錄下檔案字尾為cfg的檔案為zoo.cfg。

3.修改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 an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
# zookeeper的資料存儲位址,zookeeper-2的位址是/zkdata/zkdata-2,後面是以此類推遞增
dataDir=D:/programefiles/zkdata/zkdata-1
# the port at which the clients will connect
#這裡是用戶端的端口号,zookeeper-2是2182,後面以此類推遞增
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

#local address
#這裡是搭建僞叢集的節點配置資訊,格式是server.X=IP:Leader交換資訊的端口:Leader挂了重新選舉Leader的端口
server.1=192.168.1.224:2888:3888
server.2=192.168.1.224:2889:3889
server.3=192.168.1.224:2890:3890
server.4=192.168.1.224:2891:3891
server.5=192.168.1.224:2892:3892

           

4.在搭建的過程中還遇到了控制台亂碼的問題,當時記得需要修改log4j.properties檔案,大緻内容記不清了,全部内容如下:

# Define some default values that can be overridden by system properties
zookeeper.root.logger=INFO, CONSOLE
zookeeper.console.threshold=INFO
zookeeper.log.dir=.
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=DEBUG
zookeeper.tracelog.dir=.
zookeeper.tracelog.file=zookeeper_trace.log

#
# ZooKeeper Logging Configuration
#

# Format is "<default threshold> (, <appender>)+

# DEFAULT: console appender only
log4j.rootLogger=${zookeeper.root.logger}

# Example with rolling log file
#log4j.rootLogger=DEBUG, CONSOLE, ROLLINGFILE

# Example with rolling log file and tracing
#log4j.rootLogger=TRACE, CONSOLE, ROLLINGFILE, TRACEFILE

#
# Log INFO level and above messages to the console
#
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=${zookeeper.console.threshold}
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n

#
# Add ROLLINGFILE to rootLogger to get log file output
#    Log DEBUG level and above messages to a log file
log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold}
log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file}

# Max log file size of 10MB
log4j.appender.ROLLINGFILE.MaxFileSize=10MB
# uncomment the next line to limit number of backup files
#log4j.appender.ROLLINGFILE.MaxBackupIndex=10

log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n


#
# Add TRACEFILE to rootLogger to get log file output
#    Log DEBUG level and above messages to a log file
log4j.appender.TRACEFILE=org.apache.log4j.FileAppender
log4j.appender.TRACEFILE.Threshold=TRACE
log4j.appender.TRACEFILE.File=${zookeeper.tracelog.dir}/${zookeeper.tracelog.file}

log4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout
### Notice we are including log4j's NDC here (%x)
log4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L][%x] - %m%n

           

5.建立zkdata檔案夾存儲zookeeper的資料

win10搭建zookeeper3.4.14版本僞叢集實戰

6.正常方法需要依次啟動5台叢集,由于是windows系統這裡可以做一個啟動bat檔案,輕按兩下即可一次性啟動5台叢集。

在D:\programefiles\zookeeper目錄下與zookeeper-X同級建立一個startAll.bat檔案,内容如下:

@echo off 
start /D "D:\programefiles\zookeeper\zookeeper-1\bin" zkServer.cmd
start /D "D:\programefiles\zookeeper\zookeeper-2\bin" zkServer.cmd
start /D "D:\programefiles\zookeeper\zookeeper-3\bin" zkServer.cmd
start /D "D:\programefiles\zookeeper\zookeeper-4\bin" zkServer.cmd
start /D "D:\programefiles\zookeeper\zookeeper-5\bin" zkServer.cmd
           

三、啟動驗證

啟動驗證比較簡單,輕按兩下前面建立的startAll.bat檔案即可啟動zookeeper僞叢集。