Docker安装kafka简单步骤

2023-09-23 34 0

1.什么是kafka?

        1.1)kafka主要用于大数据实时数据处理领域,是一个基于发布订阅模式的消息队列

        1.2)消息队列有两种模式:点对点模式、发布订阅模式

                1.2.1)点对点模式(一对一):生产者生产消息发送到队列,消费者主动到队列中取并消费,消费后的消息将从队列中移除,这样可以避免一个消息被重复消费,队列支持多个消费者存在,但是一个消息只能被一个消费者消费。

                1.2.1)发布订阅模式(一对多):生产者将消息发送到topic,多个消费者订阅并消费,topic是用于消息分类的。发布订阅有两种模式:

                        消息队列主动向消费者推送:这种存在推送量与消费量不成正比时会导致消费者崩溃,假如队列按照每秒50条推送,消费者按照每秒10条消费,这就会出问题。

                        消费者主动向消息队列拉取:这种需要消费者维护一个长轮询获取消息,还可以使用一个队列来存放订阅该topic的所有消费者,有消息就通知消费者来消费,这种如果消费者挂了就收不到了。

2.安装: 

        首先需要安装zookeeper

docker pull wurstmeister/zookeeper

        安装kafka

docker pull wurstmeister/kafka 

        启动zookeeper

docker run -d --name zookeeper -p 2181:2181 -e TZ="Asia/Shanghai" --restart always wurstmeister/zookeeper 

参数介绍:

                --name:容器名字

                -p:端口号(映射到宿主机的端口:zookeeper端口号)

        启动kafka

docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=<这里换成你的zookeeper地址和端口> -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://<这里换成你的kafka地址和端口> -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e TZ="Asia/Shanghai" wurstmeister/kafka 

        参数介绍:

                        --name:容器名字

                        -p:端口号 

                        KAFKA_BROKER_ID:该ID是集群的唯一标识

                        KAFKA_ADVERTISED_LISTENERS:kafka发布到zookeeper供客户端使用的服务地址。

                        KAFKA_ZOOKEEPER_CONNECT:zk的连接地址

                        KAFKA_LISTENERS:允许使用PLAINTEXT侦听器

3.使用kafka:

进入kafka容器内部

docker exec -it kafka /bin/sh

进入路径:/opt/kafka_2.13-2.7.0/bin下

通过生产者向topic发送消息

./kafka-console-producer.sh --broker-list kafka地址:访问kafka的端口号 --topic jbjb(topic名)

另外打开一个窗口 消费者消费消息

kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic jbjb --from-beginning

 

代码编程
赞赏

相关文章

互联网+情报大数据时代背景下的科技情报服务
老干部的科技立项—1.项目概述
创建一个空的Pandas DataFrame,然后填充它?
用 Gatsby 创建一个博客
flowable学习(Ⅰ) — 创建一个简单的flowable流程例子
java创建多线程的四种方式及其区别