多台机器zookeeper集群搭建

多台机器zookeeper集群搭建,第1张

多台机器zookeeper集群搭建

@TOC多台机器zookeeper集群搭建

#docker安装跳过,可以参考博主之前的帖子

3台机器
1 10.0.0.7
2 10.0.0.8
3 10.0.0.9

**

1 docker-compose.yml

**
version: ‘2.3’
services:
zk1:
image: zookeeper:3.5
container_name: zk1
environment:
- TZ=“Asia/Shanghai”
- ZOO_MY_ID=“1”
volumes:
- /data/zk/data:/data
- /data/zk/data/log:/data/log
- /data/zk/conf:/conf
ports:
- 2181:2181
- 2888:2888
- 3888:3888
networks:
- zk-network
# network_mode: “host”

networks:
zk-network:
driver: bridge

2 zookeeper配置文件

,已10.0.0.7为例
本机/data/zk/conf目录下
vim zoo.cfg
clientPort=2181
dataDir=/data
dataLogDir=/data/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.1=0.0.0.0:2888:3888;2181 #也可以填写zk1,具体看网络方式
server.2=10.0.0.8:2888:3888;2181
server.3=10.0.0.9:2888:3888;2181

3 log4j.properties

zookeeper.root.logger=INFO, CONSOLE

zookeeper.console.threshold=INFO

zookeeper.log.dir=.
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=INFO
zookeeper.log.maxfilesize=256MB
zookeeper.log.maxbackupindex=20

zookeeper.tracelog.dir=${zookeeper.log.dir}
zookeeper.tracelog.file=zookeeper_trace.log

log4j.rootLogger= z o o k e e p e r . r o o t . l o g g e r l o g 4 j . a p p e n d e r . C O N S O L E = o r g . a p a c h e . l o g 4 j . C o n s o l e A p p e n d e r l o g 4 j . a p p e n d e r . C O N S O L E . T h r e s h o l d = {zookeeper.root.logger} log4j.appender.ConSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold= zookeeper.root.loggerlog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.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

log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLINGFILE.Threshold= z o o k e e p e r . l o g . t h r e s h o l d l o g 4 j . a p p e n d e r . R O L L I N G F I L E . F i l e = {zookeeper.log.threshold} log4j.appender.ROLLINGFILE.File= zookeeper.log.thresholdlog4j.appender.ROLLINGFILE.File={zookeeper.log.dir}/ z o o k e e p e r . l o g . f i l e l o g 4 j . a p p e n d e r . R O L L I N G F I L E . M a x F i l e S i z e = {zookeeper.log.file} log4j.appender.ROLLINGFILE.MaxFileSize= zookeeper.log.filelog4j.appender.ROLLINGFILE.MaxFileSize={zookeeper.log.maxfilesize}
log4j.appender.ROLLINGFILE.MaxBackupIndex=${zookeeper.log.maxbackupindex}
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

log4j.appender.TRACEFILE=org.apache.log4j.FileAppender
log4j.appender.TRACEFILE.Threshold=TRACE
log4j.appender.TRACEFILE.File= z o o k e e p e r . t r a c e l o g . d i r / {zookeeper.tracelog.dir}/ zookeeper.tracelog.dir/{zookeeper.tracelog.file}

log4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout

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

zookeeper.auditlog.file=zookeeper_audit.log
zookeeper.auditlog.threshold=INFO
audit.logger=INFO, RFAAUDIT
log4j.logger.org.apache.zookeeper.audit.Log4jAuditLogger= a u d i t . l o g g e r l o g 4 j . a d d i t i v i t y . o r g . a p a c h e . z o o k e e p e r . a u d i t . L o g 4 j A u d i t L o g g e r = f a l s e l o g 4 j . a p p e n d e r . R F A A U D I T = o r g . a p a c h e . l o g 4 j . R o l l i n g F i l e A p p e n d e r l o g 4 j . a p p e n d e r . R F A A U D I T . F i l e = {audit.logger} log4j.additivity.org.apache.zookeeper.audit.Log4jAuditLogger=false log4j.appender.RFAAUDIT=org.apache.log4j.RollingFileAppender log4j.appender.RFAAUDIT.File= audit.loggerlog4j.additivity.org.apache.zookeeper.audit.Log4jAuditLogger=falselog4j.appender.RFAAUDIT=org.apache.log4j.RollingFileAppenderlog4j.appender.RFAAUDIT.File={zookeeper.log.dir}/ z o o k e e p e r . a u d i t l o g . f i l e l o g 4 j . a p p e n d e r . R F A A U D I T . l a y o u t = o r g . a p a c h e . l o g 4 j . P a t t e r n L a y o u t l o g 4 j . a p p e n d e r . R F A A U D I T . l a y o u t . C o n v e r s i o n P a t t e r n = l o g 4 j . a p p e n d e r . R F A A U D I T . T h r e s h o l d = {zookeeper.auditlog.file} log4j.appender.RFAAUDIT.layout=org.apache.log4j.PatternLayout log4j.appender.RFAAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n log4j.appender.RFAAUDIT.Threshold= zookeeper.auditlog.filelog4j.appender.RFAAUDIT.layout=org.apache.log4j.PatternLayoutlog4j.appender.RFAAUDIT.layout.ConversionPattern=log4j.appender.RFAAUDIT.Threshold={zookeeper.auditlog.threshold}

log4j.appender.RFAAUDIT.MaxFileSize=10MB
log4j.appender.RFAAUDIT.MaxBackupIndex=10

**

4 /data/zk/data 目录写写文件myid,写入ZOO_MY_ID

**
[root@localhost data]# cat myid
1

**

5 其他两台服务器,参考此配置

**,注意修改容器ID和myid
正常启动后
$ docker exec -it zk1 bash
进去容器命令行
root@427153444eba:/apache-zookeeper-3.5.9-bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
查看zk运行状态

见上图,即配置成功,3台服务器,允许宕机1台。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5656227.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存