Kafka是当下非常流行的消息中间件,据官网透露,已有成千上万的公司在使用它。最近实践了一波Kafka,确实很好很强大。今天我们来从三个方面学习下Kafka:Kafaka在Linux下的安装,Kafka的可视化工具,Kafka和SpringBoot结合使用。希望大家看完后能快速入门Kafka,掌握这个流行的消息中间件!
Kafka简介
Kafka是由公司开发的一款开源分布式消息流平台,由Scala和Java编写。主要作用是为处理实时数据提供一个统一、高吞吐、低延迟的平台,其本质是基于的消息引擎系统。
Kafka具有以下特性:
- 高吞吐、低延迟:Kafka收发消息非常快,使用集群处理消息延迟可低至2ms。
- 高扩展性:Kafka可以弹性地扩展和收缩,可以扩展到上千个broker,数十万个partition,每天处理数万亿条消息。
- 永久存储:Kafka可以将数据安全地存储在分布式的,持久的,容错的群集中。
- 高可用性:Kafka在可用区上可以有效地扩展群集,某个节点宕机,集群照样能够正常工作。
Kafka安装
我们将采用Linux下的安装方式,安装环境为CentOS 7.6。此处没有采用Docker来安装部署,个人感觉直接安装更简单(主要是官方没提供Docker镜像)!
- 首先我们需要下载Kafka的安装包,下载地址:https://mirrors.bfsu.edu.cn/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz
- 下载完成后将Kafka解压到指定目录:
- 解压完成后进入到解压目录:
- 虽然有消息称Kafka即将移除Zookeeper,但是在Kafka最新版本中尚未移除,所以启动Kafka前还是需要先启动Zookeeper;
- 启动Zookeeper服务,服务将运行在端口;
- 由于目前Kafka是部署在Linux服务器上的,外网如果想要访问,需要修改Kafka的配置文件,修改下Kafka的监听地址,否则会无法连接;
- 最后启动Kafka服务,服务将运行在端口。
Kafka命令行操作
接下来我们使用命令行来操作下Kafka,熟悉下Kafka的使用。
- 首先创建一个叫的Topic;
- 接下来查看Topic;
- 会显示如下Topic信息;
- 向Topic中发送消息:
- 直接在命令行中输入信息即可发送;
- 重新打开一个窗口,通过如下命令可以从Topic中获取消息:
Kafka可视化
使用命令行操作Kafka确实有点麻烦,接下来我们试试可视化工具。
安装JDK
如果你使用的是CentOS的话,默认没有安装完整版的JDK,需要自行安装!
- 下载JDK 8,下载地址:https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/
- 下载完成后将JDK解压到指定目录;
- 在文件中添加环境变量。
安装
- 下载的安装包,下载地址:https://github.com/smartloli/kafka-eagle-bin/releases
- 下载完成后将解压到指定目录;
- 在文件中添加环境变量;
- 安装MySQL并添加数据库,之后会用到它;
- 修改配置文件,主要是修改Zookeeper的配置和数据库配置,注释掉sqlite配置,改为使用MySQL;
- 使用如下命令启动;
- 命令执行完成后会显示如下信息,但并不代表服务已经启动成功,还需要等待一会;
- 再介绍几个有用的命令:
- 启动成功可以直接访问,输入账号密码,访问地址:http://192.168.5.78:8048/
- 登录成功后可以访问到Dashboard,界面还是很棒的!
可视化工具使用
- 之前我们使用命令行创建了Topic,这里可以直接通过界面来创建;
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以点击这里获取!