什麼是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