docker compose 快速安装 单机kafka版并且 持久化
kafka 的业务场景不用多说了,耗时缓存队列,利用高吞吐以及队列模型实现 高并发情况下流量削峰,高流量的日志收集,都是kafka 的应用场景.
单机版的kafka ,在业务场景中,业务对其是非强依赖组件,如果对业务对kafka 强依赖的话,建议搭建 高可用kafka 群集。
机子:centos
- 安装 kafka
- step-1: 创建文件夹 kafka,ui-kafka
cd /home mkdir kafka ui-kafka
chmod -R 777 kafka ui-kafka
-
- step-2:在 刚创建 kafka 目录下 创建 docker-compose.yml,注意:下面的 192.168.1.42 替换成你自己 kafka 替换成你自己的IP.
cd kafka
vim docker-compose.yml // 使用vim 直接创建docker-compose.yml,粘贴如下 docker compose 编排代码
version: "3" services: zookeeper: image: docker.io/bitnami/zookeeper:3.8 network_mode: "bridge" container_name: zookeeper_1 ports: - "2181:2181" volumes: - /home/kafka/zookeeper_1:/bitnami/zookeeper #持久化数据 environment: - TZ=Asia/Shanghai - ALLOW_ANONYMOUS_LOGIN=yes kafka: restart: always image: docker.io/bitnami/kafka:3.4 network_mode: "bridge" container_name: kafka_1 ports: - "9004:9004" volumes: - /home/kafka/kafka_1:/bitnami/kafka #持久化数据
environment:
- TZ=Asia/Shanghai - KAFKA_BROKER_ID=1
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9004
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.42:9004 #替换成你自己的IP
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
depends_on:
- zookeeper
-
- step-3:保存之后,运行
docker compose -f docker-compose.yml up -d
- 安装 kafka-ui
- 切换目录,并且创建 docker-compose.yml,注意:下面的 192.168.1.42 替换成你自己 kafka 替换成你自己的IP.
cd ../ui-kafka
vim docker-compose.yml // 使用vim 直接创建docker-compose.yml,粘贴如下 docker compose 编排代码
version: "3" services: kafka-ui: restart: always image: provectuslabs/kafka-ui:latest network_mode: "bridge" container_name: kafka-ui restart: always ports: - 9001:8080 volumes: - /home/ui-kafka/etc/localtime:/etc/localtime environment: # 集群名称 - KAFKA_CLUSTERS_0_NAME=local # 集群地址 - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=192.168.1.42:9004 #替换成你自己的IP
docker compose -f docker-compose.yml up -d