EMQ X Kuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源软件,能够运行在各种资源受限的边缘设备上。Kuiper 设计的一个主要目标就是将在云端运行的实时流式计算框架(好比 Apache Spark,Apache Storm 和 Apache Flink 等)迁移到边缘端。Kuiper 参考了上述云端流式处理项目的架构与实现,结合边缘流式数据处理的特色,采用了编写基于源 (Source)
,SQL (业务逻辑处理)
, 目标 (Sink)
的规则引擎来实现边缘端的流式数据处理。html
Kuiper 能够运行在各种物联网的边缘使用场景中,好比工业物联网中对生产线数据进行实时处理;车联网中的车机对来自汽车总线数据的即时分析;智能城市场景中,对来自于各种城市设施数据的实时分析。经过 Kuiper 在边缘端的处理,能够提高系统响应速度,节省网络带宽费用和存储成本,以及提升系统安全性等。git
简单来说,kuiper能够部署运行到一个边缘设备上,对终端设备(好比温度采集器)上报的数据进行数据路由处理(经过编写sql来设置数据路由规则),支持导出到新的输出(文件或者调用http接口或者是转发到新的topic)。github
安装方式web
kuiper项目:https://github.com/emqx/kuipersql
kuiper提供三种安装方式:docker
1. dockerapache
2. 软件包管理器(apt,yum,brew等)安全
3. 二进制网络
这里要注意的是除了docker外,其余软件包安装方式都依赖Glibc2.28+以上(输入ldd --version查看)。升级glibc风险比较大,很容易不当心把系统搞废了,这里我仍是以docker方式为主来介绍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的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文档:
后面会介绍如何使用kuiper的流式计算功能。
博主:测试生财
座右铭:专一测试与自动化,致力提升研发效能;经过测试精进完成原始积累,经过读书理财奔向财务自由。
csdn:https://blog.csdn.net/ccgshigao