Mac系统安装Kafka 3.x及可视化工具

简介: Mac系统安装Kafka 3.x及可视化工具

一、Kafka介绍

来自维基百科:Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。其持久化层本质上是一个“按照分布式事务日志架构的大规模发布/订阅消息队列”,这使它作为企业级基础设施来处理流式数据非常有价值。

1. 应用场景

Kafka可以看作是一个能够处理消息队列的中间件,适用于实时的流数据处理,主要用于平衡好生产者和消费者之间的关系。

  • 生产者

生产者可以看作是数据源,可以来自于日志采集框架,如Flume,也可以来自于其它的流数据服务。当接收到数据后,将根据预设的Topic暂存在Kafka中等待消费。对于接收到的数据将会有额外的标记,用于记录数据的被消费【使用】情况。

  • 消费者

消费者即数据的使用端,可以是一个持久化的存储结构,如Hadoop,也可以直接接入支持流数据计算的各种框架,如Spark - Streaming。消费者可以有多个,通过订阅不同的Topic来获取数据。

2. 版本对比

Kafka的0.x和1.x可以看作是上古版本了,最近的更新也是几年以前,从目前的场景需求来看,也没有什么特别的理由需要使用到这两个版本了。

  • 2.x

在进行版本选择时,通常需要综合考虑整个数据流所设计到的计算框架和存储结构,来确定开发成本以及兼容性。目前2.x版本同样是一个可以用于生产环境的版本,并且保持着对Scala最新版本的编译更新。

  • 3.x

3.x是目前最新的稳定版,需要注意的是,Kafka的每个大版本之间的差异较大,包括命令参数以及API调用,所以在更换版本前需要做好详细的调查与准备,本文以3.x的安装为例。

二、Kafka安装

在Mac上使用brew安装Kafka十分简单,在此列出依赖关系,如果想要自己指定某些软件的版本,可以提前手动安装:

  • Java8【Scala的依赖】
  • Scala【Kafka的依赖】
  • Zookeeper【Kafka的依赖】

1. 软件安装

如果使用brew安装,一般直接使用以下命令就可以直接安装各种依赖:

brew install kafka

安装完成后可以使用以下命令确认版本信息:

brew info kafka

  • Tips:如果你以前已经手动安装过Java环境,需要配置好JAVA_HOME的环境变量,如:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_331.jdk/Contents/Home

默认的安装路径将在 /Library/Java/JavaVirtualMachines/,大家可以自行寻找。

2. 服务启动

(1)启动Zookeeper

  • 常驻后台启动【brew方式】
brew services restart zookeeper

启动后可以使用以下命令验证:

brew services info zookeeper

  • 脚本自定义启动

如果需要通过指定的配置文件启动,可以在以下位置找到Zookeeper的命令文件路径以及配置文件样例:

# 命令所在路径
/opt/homebrew/opt/zookeeper/bin/

# 配置文件样例
/opt/homebrew/opt/zookeeper/share/zookeeper/examples

(2)启动Kafka

  • 常驻后台启动【brew方式】
brew services restart kafka

启动后可以使用以下命令验证:

brew services info kafka

  • 脚本自定义启动

如果需要通过指定的配置文件启动,可以在以下位置找到Kafka的命令文件路径以及配置文件样例:

# 命令所在路径
/opt/homebrew/opt/kafka/bin/

# 配置文件样例
/opt/homebrew/etc/kafka

3. 话题创建

以下命令适用于Kafka 3.x版本:

  • 创建话题
kafka-topics --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test_kafka

  • 查看列表
kafka-topics --list --bootstrap-server localhost:9092

三、Eagle安装

Kafka Eagle是一个基于Web的可视化界面,可以方便的查看到当前Kafka的运行状态以及进行数据查询,十分方便。

1. 下载安装

进入官网Download页面,点击下载按钮得到软件包,直接解压缩到某一个目录:

2. 配置修改

  • 配置环境变量

需要确保已经配置了JAVA_HOME,同时添加EFAK的解压路径作为KE_HOME

# 在环境变量配置文件中
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_331.jdk/Contents/Home
export KE_HOME=/Users/xxx/Software/efak-web-3.0.1
export PATH=$JAVA_HOME/bin:$EK_HOME/bin:$PATH
  • EFAK配置文件修改($EK_HOME/conf/system-config.properties)

需要在MySQL数据库中新建一个名为ke的数据库,编码使用utf8mb4,也可以使用sqlite方式配置。

efak.zk.cluster.alias=cluster1
cluster1.zk.list=localhost:2181
# 注释cluster2.zk.list
# 修改结尾的jdbc连接参数
# 确认efak.username
# 确认efak.password

3. 项目启动

  • 启动命令

进入到命令文件所在路径:$KE_HOME/bin,执行以下命令:

# 启动
ke.sh start
# 停止
ke.sh stop
# 重启
ke.sh restart
# 状态
ks.sh status
  • 登录页面

成功启动后根据提供的用户名密码进行访问和登录:

  • 注意事项

当机器的网络环境发生变化后【如从办公室回到家】,需要重启Kafka服务与Eagle项目,因为hostname绑定的是具体的局域网IP,当更换后,需要使用新的ip进行访问。

四、console测试

当Kafka服务成功安装启动后,测试的最好方法就是使用最简单的生产者消费者脚本来进行测试,前文中已经创建了话题test_kafka,则相关命令如下:

1. 启动生产者

kafka-console-producer --bootstrap-server localhost:9092 --topic test_kafka

启动成功后即可在交互环境中直接输入数据来模拟数据的流入,当消费者启动后即可看到被消费的数据。

2. 启动消费者

添加from-beginning参数以从头消费数据。

kafka-console-consumer --bootstrap-server localhost:9092 --topic test_kafka --from-beginning

3. 验证流程

生产者控制台中随意输入数据,同时查看消费者控制台的数据输出【消费】情况。

3. 可视化查询

(1)Kafka总览

(2)查看Topic列表

(3)KSQL查询

目录
相关文章
|
7月前
|
前端开发 安全 测试技术
Postman Mac 版安装终极指南:从下载到流畅运行,一步到位
Postman 是 API 开发与测试的高效工具,支持各类 HTTP 请求调试与团队协作。本文详解 Mac 版下载、安装步骤,助你快速上手。同时推荐一体化 API 协作平台 Apifox,集文档、调试、测试于一体,提升开发效率与团队协同能力。
|
10月前
|
iOS开发 MacOS 索引
在不受支持的 Mac 上安装 macOS Tahoe 26
在不受支持的 Mac 上安装 macOS Tahoe 26
799 0
在不受支持的 Mac 上安装 macOS Tahoe 26
|
Ubuntu Linux Shell
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
2122 12
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
消息中间件 存储 Unix
Mac系统安装教程
Mac系统安装教程
255 1
Mac系统安装教程
|
开发工具 git 开发者
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
本篇将专注于如何在 DevEco Studio 中安装和配置必要的插件,以增强开发功能和提升效率。通过正确配置插件,开发流程能够得到简化,开发体验也会更加顺畅。
631 1
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
|
开发工具 iOS开发 开发者
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在Mac上安装DevEco Studio
本篇将专注于如何在 Mac 上安装鸿蒙开发工具 DevEco Studio,确保开发环境能够顺利搭建。完成安装后,可以正式开始鸿蒙应用的开发工作。
1312 1
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在Mac上安装DevEco Studio
|
消息中间件 存储 缓存
kafka 的数据是放在磁盘上还是内存上,为什么速度会快?
Kafka的数据存储机制通过将数据同时写入磁盘和内存,确保高吞吐量与持久性。其日志文件按主题和分区组织,使用预写日志(WAL)保证数据持久性,并借助操作系统的页缓存加速读取。Kafka采用顺序I/O、零拷贝技术和批量处理优化性能,支持分区分段以实现并行处理。示例代码展示了如何使用KafkaProducer发送消息。
|
消息中间件 存储 运维
为什么说Kafka还不是完美的实时数据通道
【10月更文挑战第19天】Kafka 虽然作为数据通道被广泛应用,但在实时性、数据一致性、性能及管理方面存在局限。数据延迟受消息堆积和分区再平衡影响;数据一致性难以达到恰好一次;性能瓶颈在于网络和磁盘I/O;管理复杂性涉及集群配置与版本升级。
594 1
下一篇
开通oss服务