
@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
,已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
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台。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)