使用docker快速部署kafka

使用docker快速部署kafka

文章目录

  • 使用docker快速部署kafka
  • 前言
  • 一、kafka是什么?
  • 二、使用docker快速搭建kafka
    • 1.下载 kafka 的 docker 镜像
    • 2.启动 kafka 服务
    • 3. 查看部署
  • 三、python简单使用Kafka
    • 1. 安装pykafka
    • 2. 生产消息
    • 3. 消费消息
  • 完结


前言

本文介绍了如何快速的用docker部署kafka,并简单介绍python使用kafka。
快速部署kafka的方法来自https://www.jianshu.com/p/7635ea96e53f

一、kafka是什么?

  • kafka是一个分布式的基于push-subscribe的消息中间件系统,它具备快速、可扩展、可持久化的特点。它现在是Apache旗下的一个开源系统,作为hadoop生态系统的一部分,被各种商业公司广泛应用。它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/spark流式处理引擎。
  • 若不了解Kafka,可以先看看这篇文章:
    http://blog.csdn.net/suifeng3051/article/details/48053965

二、使用docker快速搭建kafka

1.下载 kafka 的 docker 镜像

docker pull spotify/kafka

kafka 依赖 zookeeper 服务,而 spotify/kafka 里面集成好了 zookeeper 与 kafka,实现了一键启动。

提示:该镜像较长时间没有维护,Kafka版本仍然停留在0.10,若想使用较高版本的Kafka,需要选择其他镜像,比如 wurstmeister/kafka 。
wurstmeister/kafka 需和 wurstmeister/zookeeper 一起才能部署成可用的Kafka, 详情可自行百度。

2.启动 kafka 服务

docker run -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=127.0.0.1 --env ADVERTISED_PORT=9092 spotify/kafka

3. 查看部署

查看docker命令:
docker ps

查看docker截图如下,若有相应的docker则部署成功
部署截图

三、python简单使用Kafka

1. 安装pykafka

pip install pykafka

2. 生产消息

from pykafka import KafkaClient
# 连接Kafka
client = KafkaClient(hosts="0.0.0.0:9092")

# 若topics "test" 不存在则创建
topic = client.topics["test"]

# 定义消息
one = '第一个消息'
two = '第二个消息'
three = '第三个消息'

msg_list = [one, two, three]

# 发送消息
with topic.get_sync_producer() as producer:
    for msg in msg_list:
        producer.produce(msg.encode())

3. 消费消息

from pykafka import KafkaClient

# 连接Kafka
client = KafkaClient(hosts="0.0.0.0:9092")

# 定义消费者
# 选择 topic 为 test 的消费
topic = client.topics["test"]
consumer = topic.get_simple_consumer(
    consumer_group="test",
    auto_commit_enable=True,
    auto_commit_interval_ms=1,
    consumer_id='test'
)

# 消费
for message in consumer:
    if message is not None:
        kafka_str = message.value.decode()
        print(kafka_str)

完结

你可能感兴趣的:(python,kafka,docker,python)