配置Kafka过程中,少不了要使用Zookeeer,这里记录一下配置Zookeeper镜像实例的过程。
创建目录
mkdir -p /data/docker/zookeeper/data
mkdir -p /data/docker/zookeeper/conf
mkdir -p /data/docker/zookeeper/logs
说明:data目录为数据挂载目录,conf为配置挂载目录,logs为日志挂载目录
创建镜像实例
方法一:
docker run -d \--name zookeeper \--privileged=true \-p 2181:2181 \-v /data/docker/zookeeper/data:/data \-v /data/docker/zookeeper/conf:/conf \-v /data/docker/zookeeper/logs:/datalog \
zookeeper:3.8.4
方法二:
docker run -d \--name zookeeper \--privileged=true \-p 2181:2181 \-v /data/docker/zookeeper/data:/data \-v /data/docker/zookeeper/conf:/conf \-v /data/docker/zookeeper/logs:/datalog \
arm64v8/zookeeper:3.5.9
方法三:
docker run -d \--name zookeeper \--privileged=true \-p 2181:2181 \-v /data/docker/zookeeper/data:/data \-v /data/docker/zookeeper/conf:/conf \-v /data/docker/zookeeper/logs:/datalog \
arm64v8/zookeeper:latest
方法四:
docker run -d \--name zookeeper \--privileged=true \-p 2181:2181 \-v /data/docker/zookeeper/data:/data \-v /data/docker/zookeeper/conf:/conf \-v /data/docker/zookeeper/logs:/datalog \
zookeeper:latest
日志
[root@29-31 zookeeper]# docker logs zookeeper
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
01:51:02.483 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - Reading configuration from: /conf/zoo.cfg
01:51:02.487 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - clientPortAddress is 0.0.0.0:2181
01:51:02.488 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - secureClientPort is not set
01:51:02.488 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - observerMasterPort is not set
01:51:02.488 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - metricsProvider.className is org.apache.zookeeper.metrics.impl.DefaultMetricsProvider
01:51:02.490 [main] INFO org.apache.zookeeper.server.DatadirCleanupManager - autopurge.snapRetainCount set to 3
01:51:02.490 [main] INFO org.apache.zookeeper.server.DatadirCleanupManager - autopurge.purgeInterval set to 0
01:51:02.490 [main] INFO org.apache.zookeeper.server.DatadirCleanupManager - Purge task is not scheduled.
01:51:02.490 [main] WARN org.apache.zookeeper.server.quorum.QuorumPeerMain - Either no config or no quorum defined in config, running in standalone mode
01:51:02.492 [main] INFO org.apache.zookeeper.jmx.ManagedUtil - Log4j 1.2 jmx support not found; jmx disabled.
01:51:02.492 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - Reading configuration from: /conf/zoo.cfg
01:51:02.493 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - clientPortAddress is 0.0.0.0:2181
01:51:02.493 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - secureClientPort is not set
01:51:02.493 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - observerMasterPort is not set
01:51:02.493 [main] INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig - metricsProvider.className is org.apache.zookeeper.metrics.impl.DefaultMetricsProvider
01:51:02.493 [main] INFO org.apache.zookeeper.server.ZooKeeperServerMain - Starting server
01:51:02.506 [main] INFO org.apache.zookeeper.server.ServerMetrics - ServerMetrics initialized with provider org.apache.zookeeper.metrics.impl.DefaultMetricsProvider@10b48321
01:51:02.509 [main] INFO org.apache.zookeeper.server.auth.DigestAuthenticationProvider - ACL digest algorithm is: SHA1
01:51:02.509 [main] INFO org.apache.zookeeper.server.auth.DigestAuthenticationProvider - zookeeper.DigestAuthenticationProvider.enabled = true
01:51:02.512 [main] DEBUG org.apache.zookeeper.server.persistence.FileTxnSnapLog - Opening datadir:/data snapDir:/data
01:51:02.512 [main] INFO org.apache.zookeeper.server.persistence.FileTxnSnapLog - zookeeper.snapshot.trust.empty : false
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer -
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - ______ _
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - |___ / | |
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - / / ___ ___ | | __ ___ ___ _ __ ___ _ __
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - / / / _ \ / _ \ | |/ / / _ \ / _ \ | '_ \ / _ \ | '__|
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - / /__ | (_) | | (_) | | < | __/ | __/ | |_) | | __/ | |
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - /_____| \___/ \___/ |_|\_\ \___| \___| | .__/ \___| |_|
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - | |
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - |_|
01:51:02.521 [main] INFO org.apache.zookeeper.server.ZooKeeperServer -
01:51:02.522 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - Server environment:zookeeper.version=3.9.3-c26634f34490bb0ea7a09cc51e05ede3b4e320ee, built on 2024-10-17 23:21 UTC......................................01:51:02.764 [main] INFO org.apache.zookeeper.server.NIOServerCnxnFactory - binding to port 0.0.0.0/0.0.0.0:2181
01:51:02.778 [main] INFO org.apache.zookeeper.server.watch.WatchManagerFactory - Using org.apache.zookeeper.server.watch.WatchManager as watch manager
01:51:02.778 [main] INFO org.apache.zookeeper.server.watch.WatchManagerFactory - Using org.apache.zookeeper.server.watch.WatchManager as watch manager
01:51:02.778 [main] INFO org.apache.zookeeper.server.ZKDatabase - zookeeper.snapshotSizeFactor = 0.33
01:51:02.778 [main] INFO org.apache.zookeeper.server.ZKDatabase - zookeeper.commitLogCount=500
01:51:02.781 [main] INFO org.apache.zookeeper.server.persistence.SnapStream - zookeeper.snapshot.compression.method = CHECKED
01:51:02.781 [main] INFO org.apache.zookeeper.server.persistence.FileSnap - Reading snapshot /data/version-2/snapshot.0
01:51:02.784 [main] INFO org.apache.zookeeper.server.DataTree - The digest value is empty in snapshot
01:51:02.788 [main] INFO org.apache.zookeeper.server.ZKDatabase - Snapshot loaded in 9 ms, highest zxid is 0x0, digest is 1371985504
01:51:02.789 [main] INFO org.apache.zookeeper.server.persistence.FileTxnSnapLog - Snapshotting: 0x0 to /data/version-2/snapshot.0
01:51:02.790 [main] INFO org.apache.zookeeper.server.ZooKeeperServer - Snapshot taken in 1 ms
01:51:02.799 [ProcessThread(sid:0 cport:2181):] INFO org.apache.zookeeper.server.PrepRequestProcessor - PrepRequestProcessor (sid:0) started, reconfigEnabled=false
01:51:02.800 [main] INFO org.apache.zookeeper.server.RequestThrottler - zookeeper.request_throttler.shutdownTimeout = 10000 ms
01:51:02.819 [main] INFO org.apache.zookeeper.server.ContainerManager - Using checkIntervalMs=60000 maxPerMinute=10000 maxNeverUsedIntervalMs=0
01:51:02.819 [main] INFO org.apache.zookeeper.audit.ZKAuditProvider - ZooKeeper audit is disabled.
[root@29-31 zookeeper]#
当出现以上日志时表名Zookeeper已经成功启动了。
启动Kafka
# 拉取kafka镜像
docker pull wurstmeister/kafka:2.13-2.8.1@sha256:12a791ac0b524b8a05e63b3da8faec49fdcc041906184d920b2d8127c12916b4
# 启动kafka镜像
docker run -d --name kafka --network=host \
--env KAFKA_ZOOKEEPER_CONNECT=172.17.29.31:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=172.17.29.31 \
--env KAFKA_ADVERTISED_PORT=9092 \
wurstmeister/kafka:2.13-2.8.1