单机 搭建kafka集群 本地_Docker搭建Zookeeper-Kafka本地环境

Kafka简介

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

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

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

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

Kafka集群

d38d4db3d0454e2bf1abdd84f8fe44f1.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
f1c24a2e67080f5ff4f5333c35ecfacd.png

docker-compose命令

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

docker-compose logs -f
a2e485dbdb3e3835280f1f8da918bb9a.png

docker-compose查看日志

最后

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值