使用Apache Flink和Apache Ignit進行資料流分析
在本文中,我們將討論如何使用Apache Flink和Apache Ignite構建資料流應用程式。構建資料流應用程式可以以最佳化和容錯的方式將大量有限和無限量的資料提取到Ignite叢集中。資料攝取率非常高,每秒可以擴充套件到數百萬個事件。
Apache IgniteSink提供了一個流聯結器,用於將Flink資料注入Ignite快取,聯結器將其輸入資料傳送到Ignite快取。
需要注意的關鍵特性是Apache Flink和Apache Ignite提供的效能和擴充套件。Apache Flink可以處理無界和有界資料集,並且可以大規模執行有狀態流應用程式。應用程式計算以叢集形式分佈和同時執行。Apache Flink還針對任務的本地狀態訪問進行了最佳化,並確定了本地狀態的永續性。Apache Ignite提供流式處理功能,允許在記憶體資料網格中大規模地提取資料。
本文應用github
設定:下載並啟動Flink
從下載頁面下載二進位制檔案,可以選擇任何您喜歡的Hadoop / Scala組合。如果您打算只使用本地檔案系統,任何Hadoop版本都可以正常工作。轉到下載目錄。
解壓縮下載的檔案
啟動本地Flink群集:
檢查Dispatcher的Web前端,http:// localhost:8081,確保一切正常執行。Web前端應輸出單個可用的TaskManager例項。還可以透過檢查logs目錄中的日誌檔案來驗證系統是否正在執行:$ tail log / flink - * - standalonesession - * .log
版本
。
1. 啟動Zookeeper Server
2. 啟動經紀人
3.建立主題“mytopic”
4.檢視主題“mytopic”
5. 在主題中產生一些東西(寫點東西然後輸入)
6. 使用Console Producer消費主題:
7. 下載Apache Ignite
在編寫本文件時,
分支中提供了對Flink叢集中的資料流應用程式的IgniteSink支援 。
8. 構建Apache Ignite
9. 構建Flink程式 本文應用github
10. 提交Flink程式
11. 在主題中產生一些東西(寫點東西並點選回車)
只要文字不斷輸入,out檔案就會在每個時間視窗的末尾列印計數,例如:
$ tail -f log/flink-*-taskexecutor-*.outlorem : 1bye : 1ipsum : 4
12. Ignite REST服務要檢查快取鍵值,可以使用Ignite REST服務
13. 掃描快取要檢查Ignite快取中的所有金鑰,可以使用以下REST服務
Apache IgniteSink提供了一個流聯結器,用於將Flink資料注入Ignite快取,聯結器將其輸入資料傳送到Ignite快取。
需要注意的關鍵特性是Apache Flink和Apache Ignite提供的效能和擴充套件。Apache Flink可以處理無界和有界資料集,並且可以大規模執行有狀態流應用程式。應用程式計算以叢集形式分佈和同時執行。Apache Flink還針對任務的本地狀態訪問進行了最佳化,並確定了本地狀態的永續性。Apache Ignite提供流式處理功能,允許在記憶體資料網格中大規模地提取資料。
本文應用github
設定:下載並啟動Flink
從下載頁面下載二進位制檔案,可以選擇任何您喜歡的Hadoop / Scala組合。如果您打算只使用本地檔案系統,任何Hadoop版本都可以正常工作。轉到下載目錄。
解壓縮下載的檔案
$ cd ~ / Downloads #轉到下載目錄 |
$ tar xzf flink - * .tgz #解壓縮下載的檔案 |
$ cd flink-1.5.0 |
啟動本地Flink群集:
$ ./bin/start-cluster.sh# 啟動Flink |
檢查Dispatcher的Web前端,http:// localhost:8081,確保一切正常執行。Web前端應輸出單個可用的TaskManager例項。還可以透過檢查logs目錄中的日誌檔案來驗證系統是否正在執行:$ tail log / flink - * - standalonesession - * .log
下載Kafka從下載頁面(https://kafka.apache.org/downloads)下載二進位制檔案。
您可以選擇Apache Kafka
0.10.2.2 |
scala 2.11 |
1. 啟動Zookeeper Server
/bin/zookeeper-server-start.sh ./config/zookeeper.properties |
2. 啟動經紀人
./bin/kafka-server-start.sh ./config/server.properties |
3.建立主題“mytopic”
$ ./bin/kafka-topics.sh --create --topic mytopic --zookeeper localhost:2181 --partitions 1 --replication-factor 1 |
4.檢視主題“mytopic”
$ ./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic mytopic |
5. 在主題中產生一些東西(寫點東西然後輸入)
$ ./bin/kafka-console-producer.sh --topic mytopic --broker -list localhost:9092 |
6. 使用Console Producer消費主題:
$ ./bin/kafka-console-consumer.sh --topic mytopic --zookeeper localhost:2181 |
7. 下載Apache Ignite
在編寫本文件時,
master |
$ git clone https://github.com/apache/ignite |
8. 構建Apache Ignite
$ mvn clean package install -DskipTests |
9. 構建Flink程式 本文應用github
$ mvn clean package |
10. 提交Flink程式
$ ./bin/flink run streamers-1.0-SNAPSHOT.jar |
11. 在主題中產生一些東西(寫點東西並點選回車)
$ ./bin/kafka-console-producer.sh --topic mytopic --broker -list localhost:9092 |
只要文字不斷輸入,out檔案就會在每個時間視窗的末尾列印計數,例如:
$ tail -f log/flink-*-taskexecutor-*.outlorem : 1bye : 1ipsum : 4
12. Ignite REST服務要檢查快取鍵值,可以使用Ignite REST服務
$ curl -X GET http://localhost:8080/ignite\?cmd\=getall\&k1\=jam\&cacheName\=testCache |
13. 掃描快取要檢查Ignite快取中的所有金鑰,可以使用以下REST服務
$ curl -X GET http://localhost:8080/ignite?cmd=qryscanexe&pageSize=10&cacheName=testCache |
總結
我們介紹瞭如何使用Apache Flink和Apache Ignite構建簡單的資料流應用程式,並建立流處理拓撲,允許以分散式,可擴充套件和容錯的方式進行資料流,以便處理由數百萬個事件組成的無界資料集。
Data Streaming Using Apache Flink and Apache Ignit
[該貼被banq於2018-10-14 19:58修改過]
相關文章
- 三種大資料流處理框架選擇比較:Apache Kafka流、Apache Spark流和Apache Flink - quora大資料框架ApacheKafkaSpark
- 使用Apache Spark和Apache Hudi構建分析資料湖ApacheSpark
- Apache Flink CDC 批流融合技術原理分析Apache
- Apache Flink 進階(五):資料型別和序列化Apache資料型別
- Apache 流框架 Flink,Spark Streaming,Storm對比分析(1)Apache框架SparkORM
- Apache 流框架 Flink,Spark Streaming,Storm對比分析(2)Apache框架SparkORM
- Apache 流框架 Flink,Spark Streaming,Storm對比分析(一)Apache框架SparkORM
- Apache 流框架 Flink,Spark Streaming,Storm對比分析(二)Apache框架SparkORM
- 如何將Apache Druid,Flink和Cassandra用於實時流分析和使用者評分?ApacheUI
- Apache Hudi與Apache Flink整合Apache
- Apache Flink,流計算?不僅僅是流計算!Apache
- Apache HttpClient使用和原始碼分析ApacheHTTPclient原始碼
- apache flink 簡介Apache
- Apache Flink原始碼分析---JobManager啟動流程Apache原始碼
- Spark流教程 :使用 Apache Spark 的Twitter情緒分析SparkApache
- 如何在 Apache Flink 中使用 Python API?ApachePythonAPI
- 如何使用MySQL資料庫來分析Apache日誌?MySql資料庫Apache
- 博文推薦|使用 Apache Pulsar 和 Scala 進行事件流處理Apache事件
- 使用Apache Camel進行Java企業整合ApacheJava
- Apache Flink 進階入門(二):Time 深度解析Apache
- Apache Flink 進階(一):Runtime 核心機制剖析Apache
- Apache DolphinScheduler支援Flink嗎?Apache
- mac安裝apache flinkMacApache
- Apache Flink核心技術Apache
- 重磅!解鎖Apache Flink讀寫Apache Hudi新姿勢Apache
- 博文乾貨|Apache InLong 使用 Apache Pulsar 建立資料入庫Apache
- Apache Dolphinscheduler資料質量原始碼分析Apache原始碼
- apache flink + Paimon 快速搭建指南ApacheAI
- Apache Flink 1.16 功能解讀Apache
- Apache Flink 1.16 正式釋出Apache
- Apache-Flink深度解析-概述Apache
- Eta中的Apache Flink示例Apache
- Apache-Flink深度解析-TableAPIApacheAPI
- 使用Apache SeaTunnel高效整合和管理SftpFile資料來源ApacheFTP
- 基於 Apache Flink 的實時計算資料流業務引擎在京東零售的實踐和落地Apache
- 使用Flink完成流資料統計
- 國人之光:大資料分析神器Apache Kylin大資料Apache
- 基於Apache Hudi + Flink的億級資料入湖實踐Apache