kafka 削峰_Docker搭建Zookeeper-Kafka本地环境

本文介绍了Kafka作为一个分布式流平台的主要用途,包括作为消息队列和构建实时流式数据处理管道。通过Docker-Compose,详细演示了如何搭建一个包含两个ZooKeeper节点和两个Kafka节点的集群。Docker-compose配置文件展示了各服务的设置,并提供了查看日志的方法。
摘要由CSDN通过智能技术生成

Kafka简介

Kafka是一个分布式流平台,可以如同消息队列或者企业级消息系统一样发布和订阅流记录,能够以容错持久化的方式存储流记录,并且实时处理流记录。

目前来说主要用在两个方面:

当作消息队列,在不同应用和系统之间传递可靠消息,达到系统解耦,流量削峰的目的,以此来构建实时流式数据处理管道,主要是Kafka。

构建实时处理数据的流式数据应用,主要是Kafka Stream。

Kafka集群

9eee8522379bf75229dbc805b6c5fcb4.png

ZooKeeper-Kafka集群

如图中所示,多个Kafka节点构成Kafka集群,每一个Kafka节点成为Broker,所有的节点并通过ZooKeeper来进行集群管理。

Docker搭建Zk-Kafka集群

直接使用Docker也是可以的,但是为了方便使用Docker-Compose来做服务编排更加推荐,也可以使用swarm和docker stack来部署,这里仅以Docker-Compose为例。

为了方便,以两个节点的ZooKeeper和两个节点的Kafka为目标,搭建ZooKeeper和Kafka的集群。

docker-compose.yml如下:

version: '3.1'services: zookeeper-1: image: zookeeper restart: always hostname: zookeeper-1 ports: - 2181:2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zookeeper-1:2888:3888 server.2=zookeeper-2:2888:3888 zookeeper-2: image: zookeeper restart: always hostname: zookeeper-2 ports: - 2182:2181 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zookeeper-1:2888:3888 server.2=zookeeper-2:2888:3888 kafka-1: image: wurstmeister/kafka restart: always hostname: kafka-1 links: - zookeeper-1 - zookeeper-2 - kafka-2 ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: kafka-1 KAFKA_ADVERTISED_PORT: 9092 KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181 KAFKA_BROKER_ID: 1 volumes: - /var/run/docker.sock:/var/run/docker.sock kafka-2: image: wurstmeister/kafka restart: always hostname: kafka-2 links: - zookeeper-1 - zookeeper-2 ports: - "9093:9092" environment: KAFKA_ADVERTISED_HOST_NAME: kafka-2 KAFKA_ADVERTISED_PORT: 9092 KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181 KAFKA_BROKER_ID: 2 volumes: - /var/run/docker.sock:/var/run/docker.sock

在命令行运行下面的命令:

cd docker-compose.yml文件所在目录docker-compose up -d
48bbb54d65e4436b975057a494e62602.png

docker-compose命令

运行后可以通过命令查看日志:

docker-compose logs -f
13bcf10fc14c5ae731ae570e5d1ca34f.png

docker-compose查看日志

最后

本文同步发表在个人博客上,https://www.soaringroad.com/article/132

听说点赞,收藏,转发,加关注的小伙伴们写代码无BUG,不知真假。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值