首页 > 其他分享 >macOS 系统 Kafka 快速入门

macOS 系统 Kafka 快速入门

时间:2023-06-30 12:57:00浏览次数:40  
标签:bin macOS 入门 -- server kafka topic 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 服务器。

标签:bin,macOS,入门,--,server,kafka,topic,Kafka
From: https://www.cnblogs.com/echo97/p/17516411.html

相关文章

  • 循环神经网络入门基础
    文章和代码已经归档至【Github仓库:<https://github.com/timerring/dive-into-AI>】或者公众号【AIShareLab】回复神经网络基础也可获取。循环神经网络序列数据序列数据是常见的数据类型,前后数据通常具有关联性例如“Catsaverage15hoursofsleepaday”语言模型语言模型是......
  • Vue3从入门到精通(三)
    vue3插槽Slots在Vue3中,插槽(Slots)的使用方式与Vue2中基本相同,但有一些细微的差异。以下是在Vue3中使用插槽的示例://ChildComponent.vue<template><div><h2>ChildComponent</h2><slot></slot></div></template>​//ParentComponent......
  • ShardingSphere5入门到实战
    ShardingSphere5入门到实战第01章高性能架构模式互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能。高性能数据库集群的第一种方式是“读写分离”,第二种方式是“数据库分片”。1、读写分离架构读写分......
  • Linux vs MacOS ,你更喜欢哪个系统?
    大家应该都知道Windows,Linux和MacOS这几个操作系统,它们各有优缺点,比如像游戏等专门的领域,Windows当然是比Linux更好些,但Linux是开源的,安全性和稳定性要比Windows要好,如果是关于视频编辑方向的,那MacOS可能是更好的系统选择,具体要使用哪种操作系统,还是看个人的需求。我们经常拿Linux......
  • Linux vs MacOS ,你更喜欢哪个系统?
    大家应该都知道Windows,Linux和MacOS这几个操作系统,它们各有优缺点,比如像游戏等专门的领域,Windows当然是比Linux更好些,但Linux是开源的,安全性和稳定性要比Windows要好,如果是关于视频编辑方向的,那MacOS可能是更好的系统选择,具体要使用哪种操作系统,还是看个人的需求。我们经常拿Linux......
  • Linux vs MacOS ,你更喜欢哪个系统?
    大家应该都知道Windows,Linux和MacOS这几个操作系统,它们各有优缺点,比如像游戏等专门的领域,Windows当然是比Linux更好些,但Linux是开源的,安全性和稳定性要比Windows要好,如果是关于视频编辑方向的,那MacOS可能是更好的系统选择,具体要使用哪种操作系统,还是看个人的需求。我们经常拿Linux......
  • MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(8)-Ant Design Blazor前端
    前言前面的章节我们介绍了一些值得推荐的BlazorUI组件库,通过该篇文章的组件库介绍最终我选用AntDesignBlazor这个UI框架作为ToDoList系统的前端框架。因为在之前的工作中有使用过AntDesignVue、AntDesignAngular习惯并且喜欢AntDesign设计规范和风格,废话不多说今天我......
  • 【Android Kotlin】全网最全的Android Kotlin入门教程指南,入股不亏
    前言2017年的谷歌大会上,Kotlin被指定为官方的Android开发语言,从长远的角度来看,Kotlin语言是作为Android开发者必须要掌握的一门编程语言。Kotlin编程语言极易上手,而且它不像Java那样代码繁琐,Kotlin代码更简洁,可读性也更强,可以花更少的时间来编写和理解代码,极大地提高了工作效率,不仅......
  • docker部署Zookeeper+Kafka+Storm
    docker部署Zookeeper+Storm+Kafka安装docker信任Docker的GPG公钥:curl-fsSLhttps://repo.huaweicloud.com/docker-ce/linux/ubuntu/gpg|sudoapt-keyadd-`添加软件仓库:sudoadd-apt-repository"deb[arch=amd64]https://repo.huaweicloud.com/docker-ce/linux/ubun......
  • Kafka核心总控制器Controller主要作用
    https://www.yisu.com/zixun/586556.html1简介1)更新集群元数据信息2)创建Topic3)删除Topic4)分区重分配5)preferredleader副本选举6)Topic分区扩展7)Broker加入集群8)Broker崩溃9)受控关闭10)controllerleader选举 2更新集群元数据信息Client可以从......