macOS 系统 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 环境。
- 使用 Ctrl + C 停止生产者和消费者客户端。
- 使用 Ctrl + C 停止 Kafka 服务器。
- 使用 Ctrl + C 停止 ZooKeeper 服务器。
macOS 系统 Kafka 快速入门的更多相关文章
- docker安装kafka快速入门
docker安装kafka快速入门 1.安装zookeeper docker search zookeeperdocker pull zookeeperdocker run -d -v /home/s ...
- kafka快速入门(官方文档)
第1步:下载代码 下载 1.0.0版本并解压缩. > tar -xzf kafka_2.11-1.0.0.tgz > cd kafka_2.11-1.0.0 第2步:启动服务器 Kafka ...
- kafka快速入门到精通
目录 1. 消息队列两种模式 1.1 消息队列作用 1.2 点对点模式(一对一,消费者主动拉取数据,消息收到后消息删除) 1.3 发布/订阅模式(一对多,消费数据之后不会删除消息) 1.4 kafka ...
- kafka快速入门
一.kafka简介 kafka,ActiveMQ,RabbitMQ是当今最流行的分布式消息中间件,其中kafka在性能及吞吐量方面是三者中的佼佼者,不过最近查阅官网时,官方与它的定义为一个分布式流媒体 ...
- Apache Kafka 快速入门
概述 Apache Kafka是一个分布式发布-订阅消息系统和强大的队列,可以处理大量的数据,将消息从一个端点传递到另一个端点.Kafka适合离线和在线消息消费,Kafka消息保存在磁盘上,并在集群内 ...
- Kafka 快速入门
Kafka Kafka 核心概念 什么是 Kafka Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.该项目的目标是为处理实时数据提供一个统一.高吞吐.低延迟 ...
- 分布式缓存系统 Memcached 快速入门
Memcached介绍 官网地址 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提 ...
- Linux系统快速入门方法
相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什么要学习Linux,有的人是因为兴趣 ...
- 分享Linux系统快速入门法
相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什么要学习Linux,有的人是因为兴趣 ...
- 前端学习 node 快速入门 系列 —— 报名系统 - [express]
其他章节请看: 前端学习 node 快速入门 系列 报名系统 - [express] 最简单的报名系统: 只有两个页面 人员信息列表页:展示已报名的人员信息列表.里面有一个报名按钮,点击按钮则会跳转到 ...
随机推荐
- 四月二十日java基础知识
1.不可被继承的成员与最终类:在默认情况下,所有的成员变量和成员方法都可以被覆盖,如果父类的成员不希望被子类的成员锁覆盖可以将它们声明为final.如果用final来修饰成员变量,则说明该成员变量是最 ...
- 多态 polymorphic
多态是同一个行为具有多个不同表现形式,多态实现需要以下条件 继承父类并重写方法 父类引用指向子类对象:Animal a = new Cat(); 多态实例: //测试类 public class Te ...
- vue3+vant创建移动端项目,实战项目常见采坑记录
前言: 产品背景介绍 我所做的这个项目,刚开始是没有移动端需求的,等PC端做完了上线使用了几个月后,突然有一天产品经理找到我说是要做一个在PC端添加一个快速注册入口,用手机微信扫二位码进入移动端注册页 ...
- vue侦听器(引入vue.js写法)
首先在html中引入vue.js,具体怎么下载可以参考https://blog.csdn.net/lvoelife/article/details/129254906,下载后在html中引入: 侦听d ...
- 可视化大屏的终极解决方案居然这么简单,vue-autofit一行全搞定!
可视化大屏适配/自适应现状 可视化大屏的适配是一个老生常谈的话题了,现在其实不乏一些大佬开源的自适应插件.工具但是我为什么还要重复造轮子呢?因为目前市面上适配工具每一个都无法做到完美的效果,做出来的东 ...
- Java并发(三)----创建线程的三种方式及查看进程线程
一.直接使用 Thread // 创建线程对象 Thread t = new Thread() { public void run() { // 要执行的任务 } }; // ...
- Consistency Models终结扩散模型
最近看到一篇论文,觉得特别有意思,并且在学术界引起了不小的动静,他就是一致性模型,据说图像生成效果快.质量高,并且还可以实现零样本图像编辑,即不进行一些视觉任务训练,可以实现图像超分.修复.上色等功能 ...
- Xcode编译流程
Xcode的构建过程本质上是执行一系列构建任务.如:代码检测,编译代码,链接目标文件,拷贝资源(图片, plist, nib)文件,代码签名等.大部分任务是执行命令行工具,如(clang编译. l ...
- dataX源码学习
文章目录 前言 开始准备 运行配置 开始运行 JobContainer 1.进入init prepare schedule post阶段 this.invokeHooks(); 总结 前言 在用dat ...
- 安装dataX的问题,com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe
文章目录 报错 安装: 解决方法 总结 报错 com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe ...