1、docker部署kafka

1、部署注册中心ZooKeeper

创建ZooKeeper 挂载目录(数据挂载目录、配置挂载目录和日志挂载目录)

mkdir -p /export/server/docker/zookeeper/data # 数据挂载目录
mkdir -p /export/server/docker/zookeeper/conf # 配置挂载目录
mkdir -p /export/server/docker/zookeeper/logs # 日志挂载目录

添加配置文件,挂载在/export/server/docker/zookeeper/conf 文件夹下

cd /export/server/docker/zookeeper/conf 
vim zoo.cfg
# The number of  milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
 
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

启动ZooKeeper 容器

docker run -d \
--name zookeeper \
--privileged=true \
-p 2181:2181 \
--restart=always \
-v /export/server/docker/zookeeper/data:/data \
-v /export/server/docker/zookeeper/conf:/conf \
-v /export/server/docker/zookeeper/logs:/datalog \
zookeeper

验证

查看容器状态

docker ps

查看容器日志

docker logs zookeeper 

查看运行状态

docker exec -it zookeeper /bin/bash 
./bin/zkServer.sh status

2、部署kafka

安装kafka容器

docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.43.10:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.43.10:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka 

验证kafka容器

进入kafka容器内部

docker exec -it kafka /bin/sh

Kafka 创建Topic 流程步骤

#进入容器
docker exec -it ${CONTAINER ID} /bin/bash
cd /opt/kafka_2.13-2.8.1/bin
#单机方式:创建一个主题
bin/kafka-topics.sh --create --zookeeper 192.168.10.100:2181 --replication-factor 1 --partitions 1 --topic mykafka
#运行一个生产者
bin/kafka-console-producer.sh --broker-list 192.168.10.100:9092 --topic mykafka
#运行一个消费者
bin/kafka-console-consumer.sh --zookeeper 192.168.10.100:2181 --topic mykafka --from-beginning

3、kafka客户端工具推荐 传送门

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 安装Docker 如果您还没有安装Docker,请根据您的操作系统安装DockerDocker官方网站提供了适用于各种操作系统的Docker安装指南。 2. 下载Kafka镜像 在Docker Hub上下载Kafka镜像。我们将使用wurstmeister/kafka镜像。 命令如下: ``` docker pull wurstmeister/kafka ``` 3. 创建Kafka容器 使用以下命令创建Kafka容器: ``` docker run -d --name kafka -p 9092:9092 -e KAFKA_ADVERTISED_HOST_NAME=localhost -e KAFKA_CREATE_TOPICS="topic1:1:1,topic2:1:1" wurstmeister/kafka ``` 上述命令将创建一个名为kafkaDocker容器,并将Kafka的默认端口9092映射到主机的9092端口。KAFKA_ADVERTISED_HOST_NAME设置为localhost,这意味着Kafka将绑定到容器的本地IP地址。KAFKA_CREATE_TOPICS用于在容器启动时创建一个或多个主题。 4. 测试Kafka 要测试Kafka,请使用以下命令创建一个生产者: ``` docker exec -it kafka /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topic1 ``` 在另一个终端窗口中,使用以下命令创建一个消费者: ``` docker exec -it kafka /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic1 --from-beginning ``` 现在,您可以向生产者发送消息并在消费者中查看它们。 5. 停止Kafka容器 要停止Kafka容器,请使用以下命令: ``` docker stop kafka ``` 6. 删除Kafka容器 要删除Kafka容器,请使用以下命令: ``` docker rm kafka ``` 注意:这将永久删除容器及其所有数据。如果您想保留Kafka数据,可以将Kafka数据目录映射到主机,以便在容器删除后可以访问它们。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值