云服务器docker 部署zookeeper 和Kafka集群
本次部署采用三台云服务器:在docker上部署
部署zookeeper
命令:
docker run --network=host --restart=always -p 2181:2181 --name zookeeper \
-e TZ="Asia/Shanghai" \
-v /data/zookeeper/data:/data \
-v /data/zookeeper/conf:/conf \
-v /data/zookeeper/datalog:/datalog \
-v /etc/localtime:/etc/localtime \
-d zookeeper:latest
# 采用本机网络
-network=host
# 跟随docker 重启
--restart=always
# 设置时区
-e TZ="Asia/Shanghai" \
# 映射文件需要创建
-v /data/zookeeper/data:/data \
-v /data/zookeeper/conf:/conf \
-v /data/zookeeper/datalog:/datalog \
zoo.cfg 文件,而且data目录下myid
需要和
zoo.cfg文件一至
echo 1 >> myid
clientPort=2181
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
#admin.serverPort=10086
admin.enableServer=true
quorumListenOnAllIPs=true
server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=0.0.0.0:2888:3888
kafka的部署
docker run --restart=always -p 9092:9092 --name kafka \
-e TZ="Asia/Shanghai" \
-e KAFKA_BROKER_ID=3 \
-e KAFKA_ZOOKEEPER_CONNECT=ip1:2181/kafka,ip2:2181/kafka,ip3:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://ip3:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /etc/localtime:/etc/localtime \
-v /data/kafka:/kafka \
-d wurstmeister/kafka```