ZooKeeper 集群环境搭建 (本机3个节点)
是一个简单的分布式同步数据库(或者是小文件系统)
--------------------------------------------------------
1、建立目录
server1
server1/dataDir
server1/dataLogDir
server1/logs
server1/zookeeper3.4.6
server2
server2/dataDir
server2/dataLogDir
server2/logs
server2/zookeeper3.4.6
server3
server3/dataDir
server3/dataLogDir
server3/logs
server3/zookeeper3.4.6
-------------------------------------------------------
2、myid
server1/dataDir/myid
1
server2/dataDir/myid
2
server3/dataDir/myid
3
--------------------------------------------------------
3、zoo.cfg
server1/dataDir/zookeeper3.4.6/conf/zoo.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=D:/Tools/zookeeper3.4.6/server1/dataDir
dataLogDir=D:/Tools/zookeeper3.4.6/server1/dataLogDir
clientPort=2181
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
server2/dataDir/zookeeper3.4.6/conf/zoo.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=D:/Tools/zookeeper3.4.6/server2/dataDir
dataLogDir=D:/Tools/zookeeper3.4.6/server2/dataLogDir
clientPort=2182
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
server3/dataDir/zookeeper3.4.6/conf/zoo.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=D:/Tools/zookeeper3.4.6/server3/dataDir
dataLogDir=D:/Tools/zookeeper3.4.6/server3/dataLogDir
clientPort=2183
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
--------------------------------------------------------
3、log4j.properties
server1/dataDir/zookeeper3.4.6/conf/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=D:/Tools/zookeeper3.4.6/server1/logs
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=DEBUG
zookeeper.tracelog.dir=D:/Tools/zookeeper3.4.6/server1/logs
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