• macOS 系统 Kafka 快速入门


    Kafka 的核心功能是高性能的消息发送与高性能的消息消费。Kafka 名字的由来是 Kafka 三位原作者之一 Jay Kreps 说 Kafka 系统充分优化了写操作,所以用一个作家的名字来命名很有意义,他非常喜欢作家 Franz Kafka,并且用 Kafka 命名开源项目很酷 。以下是 Kafka 的快速入门教程。

    下载并解压缩 Kafka 二进制代码压缩文件

    打开 Kafka 官网的下载地址,可以看到不同版本的 Kafka 二进制代码压缩包下载链接,如下图所示:

    当前最新的 Kafka 版本是 3.5.0,提供了两个二进制压缩包可供下载:

    • kafka_2.12-3.5.0.tgz
    • kafka_2.13-3.5.0.tgz

    其中的 2.12/2.13 表示编译 Kafka 的 Scale 语言版本,后面的 3.5.0 是 Kafka 的版本。仅当使用 Scala 并且希望 Kafka 与使用的 Scala 版本一致时,选择 Scale 语言版本才有意义,否则两个版本都可以运行(推荐 2.13)。我这次下载的是 kafka_2.13-3.5.0.tgz。

    下载完毕后将文件放至/usr/local/etc目录下,打开终端使用下列命令解压文件:

    cd /usr/local/etc
    tar -zxf kafka_2.13-3.5.0.tgz
    cd kafka_2.13-3.5.0
    

    启动服务器

    注意:启动前需确保本地环境已安装 Java 8+。

    首先需要启动 ZooKeeper 服务器(ZooKeeper 是为 Kafka 提供协调服务的工具),可以直接使用 Kafka 内置的 ZooKeeper 服务器,运行下列命令:

    bin/zookeeper-server-start.sh config/zookeeper.properties
    

    接下来打开另一个终端会话并运行下列语句来启动 Kafka 服务器:

    bin/kafka-server-start.sh config/server.properties
    

    所有服务成功启动后,会拥有一个正在运行并可供使用的基本 Kafka 环境。

    注意确保在 Kafka 的安装目录下运行 Kafka 命令,或者将 Kafka 的bin目录添加到系统的环境变量中,这样就可以在任意位置运行 Kafka 命令。

    创建 topic

    Kafka 是一个分布式事件流平台,它允许用户在多台机器上读取、写入、存储和处理事件(在文档中也称为记录或消息)。 事件包括支付交易、手机的地理位置更新、发货订单、来自物联网设备或医疗设备的传感器测量等等。这些事件被管理并存储在主题(topic)中。简单地说,topic 类似于文件系统中的文件夹,而事件则是该文件夹中的文件。 因此,在写入第一个事件之前,必须创建一个 topic。确保之前启动 ZooKeeper 和 Kafka 的终端不被关闭,再打开另一个终端会话并运行以下命令:

    bin/kafka-topics.sh --create --topic test-events --bootstrap-server localhost:9092
    

    这一步创建了一个名为 test-events 的 topic。接下来可以使用下面的命令来查看该 topic 的状态:

    bin/kafka-topics.sh --describe --topic test-events --bootstrap-server localhost:9092
    

    发送信息

    Kafka 客户端通过网络与 Kafka brokers(服务器) 进行通信,用于写入(或读取)事件。运行控制台生产者客户端,将一些事件写入主题。默认情况下,输入的每一行将导致一个单独的事件被写入主题。

    再打开一个新的终端,执行下列命令:

    bin/kafka-console-producer.sh --topic test-events --bootstrap-server localhost:9092
    Hello, Kafka
    This is my first enent
    

    可以随时使用 Ctrl + C 停止生产者客户端。

    消费信息

    打开另一个终端会话并运行控制台消费者客户端来读取刚刚创建的事件:

    bin/kafka-console-consumer.sh --topic test-events --from-beginning --bootstrap-server localhost:9092
    

    之前的命令都运行成功的话,可以看到上一步发送的两条消息。 可以随时使用 Ctrl + C 停止消费者客户端。

    还可以尝试切换回生产者终端(上一步)编写其他事件,并查看事件是如何立即显示在消费者终端的。

    由于事件持久存储在 Kafka 中,因此它们可以被任意数量的消费者读取任意多次。可以通过打开另一个终端会话再次运行本条命令来轻松验证这一点。

    终止 Kafka 环境

    现在就已经完成了快速入门,可以根据以下步骤终止 Kafka 环境。

    1. 使用 Ctrl + C 停止生产者和消费者客户端。
    2. 使用 Ctrl + C 停止 Kafka 服务器。
    3. 使用 Ctrl + C 停止 ZooKeeper 服务器。
  • 相关阅读:
    html5 web 按钮跳转方法(及其相关)
    android studio编译SDL so库
    “熊猫杯” | 赛宁网安获网络安全优秀创新成果大赛优胜奖
    API接口测试-postman用例集/环境导入及导出方案
    ATF启动(四):BL31
    融合莱维飞行与黄金正弦的蚁狮优化算法-附代码
    六十分之九十——沉迷期的突破
    ArcPy批量对大量遥感影像相减做差
    北理工嵩天Python语言程序设计笔记(目录)
    编写一个程序,输入一个字符串,统计其中各个不同字符的出现次数。
  • 原文地址:https://www.cnblogs.com/echo97/p/17516411.html