作者:dafeige | 来源:互联网 | 2023-07-26 17:38
什么是kuiper
EMQ X Kuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源软件,可以运行在各类资源受限的边缘设备上。Kuiper 设计的一个主要目标就是将在云端运行的实时流式计算框架(比如 Apache Spark,Apache Storm 和 Apache Flink 等)迁移到边缘端。Kuiper 参考了上述云端流式处理项目的架构与实现,结合边缘流式数据处理的特点,采用了编写基于源 (Source)
,SQL (业务逻辑处理)
, 目标 (Sink)
 的规则引擎来实现边缘端的流式数据处理。
应用场景
Kuiper 可以运行在各类物联网的边缘使用场景中,比如工业物联网中对生产线数据进行实时处理;车联网中的车机对来自汽车总线数据的即时分析;智能城市场景中,对来自于各类城市设施数据的实时分析。通过 Kuiper 在边缘端的处理,可以提升系统响应速度,节省网络带宽费用和存储成本,以及提高系统安全性等。
简单来讲,kuiper可以部署运行到一个边缘设备上,对终端设备(比如温度采集器)上报的数据进行数据路由处理(通过编写sql来设置数据路由规则),支持导出到新的输出(文件或者调用http接口或者是转发到新的topic)。
安装使用
安装方式
kuiper项目:https://github.com/emqx/kuiper
kuiper提供三种安装方式:
1. docker
2. 软件包管理器(apt,yum,brew等)
3. 二进制
这里要注意的是除了docker外,其他软件包安装方式都依赖Glibc2.28+以上(输入ldd --version查看)。升级glibc风险比较大,很容易不小心把系统搞废了,这里我还是以docker方式为主来介绍kuiper的安装,有条件的朋友可以按照官网使用其他方式安装。
kuiper安装
1.下载镜像
截止目前为止,kuiper:1.1.1是最新版本
执行:docker pull emqx/kuiper:1.1.1
2.docker运行kuiper
kuiper需要连接到mqtt broker,MQTT_SOURCE__DEFAULT__SERVERS指定了mqtt broker地址,这里建议使用emqx(参考:如何搭建emqx)
#这里唯一需要指定的就是broker的ip,我的emqx服务所在机器ip为192.168.200.2
docker run -p 9081:9081 -d --name kuiper -e MQTT_SOURCE__DEFAULT__SERVERS=[tcp://192.168.200.2:1883] emqx/kuiper:1.1.1
3.查看是否运行成功
执行:docker ps | grep emqx/kuiper:1.1.1,看到如下图则表示成功启动kuiper。
到这里,kuiper已经安装成功了。
kuiper-manager安装
kuiper-manager是kuiper的web本地控制台,方便了用户通过web页面直接操作管理(流/规则/插件等),操作较为友好。
kuiper-manager地址:https://hub.docker.com/r/emqx/kuiper-manager
1. 拉取docker镜像
docker pull emqx/kuiper-manager:1.0.2
2. docker运行kuiper-manager
docker run -p 9082:9082 -d emqx/kuiper-manager:1.0.2
验证安装运行成功
登录kuiper-manager
登录时需要提供 kuiper-manager 的地址,用户名、密码。如下图所示:
地址:http://$yourhost:9082
用户名:admin
密码:public
看到如下图中的kuiper节点,则表示kuiper和kuiper-manager均安装成功,处于正常运行的状态。
本文参考了emq的官网文档和github文档:
- https://docs.emqx.cn/cn/kuiper/latest/quick_start_docker.html#_5-%E5%88%86%E9%92%9F%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8 
- https://github.com/emqx/kuiper/blob/master/docs/zh_CN/manager-ui/overview.md
- https://github.com/emqx/kuiper
后面会介绍如何使用kuiper的流式计算功能。
博主:测试生财
座右铭:专注测试与自动化,致力提高研发效能;通过测试精进完成原始积累,通过读书理财奔向财务自由。
csdn:https://blog.csdn.net/ccgshigao
博客园:https://www.cnblogs.com/qa-freeroad/
51cto:https://blog.51cto.com/14900374