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