使用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對比分析(2)Apache框架SparkORM
- Apache 流框架 Flink,Spark Streaming,Storm對比分析(1)Apache框架SparkORM
- Apache 流框架 Flink,Spark Streaming,Storm對比分析(一)Apache框架SparkORM
- Apache 流框架 Flink,Spark Streaming,Storm對比分析(二)Apache框架SparkORM
- 如何將Apache Druid,Flink和Cassandra用於實時流分析和使用者評分?ApacheUI
- Apache Flink,流計算?不僅僅是流計算!Apache
- Apache HttpClient使用和原始碼分析ApacheHTTPclient原始碼
- 實時流處理框架Apache Flink簡介框架Apache
- Spark流教程 :使用 Apache Spark 的Twitter情緒分析SparkApache
- 博文推薦|使用 Apache Pulsar 和 Scala 進行事件流處理Apache事件
- apache flink 簡介Apache
- 如何使用MySQL資料庫來分析Apache日誌?MySql資料庫Apache
- Apache Flink原始碼分析---JobManager啟動流程Apache原始碼
- 使用Apache Camel進行Java企業整合ApacheJava
- 使用 Apache OpenWebBeans 和 Apache Tomcat | JavalobbyApacheWebBeanTomcatJava
- Apache Flink 進階入門(二):Time 深度解析Apache
- 【雲星資料---Apache Flink實戰系列(精品版)】:Apache Flink高階特性與高階應用011-Slot和Parallelism的深入分析006ApacheParallel
- 【雲星資料---Apache Flink實戰系列(精品版)】:Apache Flink高階特性與高階應用012-Slot和Parallelism的深入分析007ApacheParallel
- mac安裝apache flinkMacApache
- Apache Flink核心技術Apache
- 如何在 Apache Flink 中使用 Python API?ApachePythonAPI
- Apache Flink 進階(一):Runtime 核心機制剖析Apache
- 博文乾貨|Apache InLong 使用 Apache Pulsar 建立資料入庫Apache
- 基於 Apache Flink 的實時計算資料流業務引擎在京東零售的實踐和落地Apache
- Apache-Flink深度解析-TableAPIApacheAPI
- Apache-Flink深度解析-概述Apache
- Eta中的Apache Flink示例Apache
- Apache DolphinScheduler支援Flink嗎?Apache
- apache flink + Paimon 快速搭建指南ApacheAI
- 使用apache日誌進行訪問ip的排序Apache排序
- 使用Apache SeaTunnel高效整合和管理SftpFile資料來源ApacheFTP
- 使用Flink完成流資料統計
- 使用pandas進行資料分析
- 如何使用傳統資料庫思維進行實時資料流分析? – thenewstack資料庫