Flink 1.7.0 安裝、配置與使用
本地單機安裝
Apache Flink是一個面向分散式資料流處理和批量資料處理的開源計算平臺,它能夠基於同一個Flink執行時,提供支援流處理和批處理兩種型別應用的功能。
有狀態計算的Exactly-once語義。狀態是指flink能夠維護資料在時序上的聚類和聚合,同時它有checkpoint機制
支援帶有事件時間(event time)語義的流處理和視窗處理。事件時間的語義使流計算的結果更加精確,尤其在事件到達無序或者延遲的情況下。
支援高度靈活的視窗(window)操作。支援基於time、count、session,以及data-driven的視窗操作,能很好的對現實環境中的建立的資料進行建模。
輕量的容錯處理( fault tolerance)。 它使得系統既能保持高的吞吐率又能保證exactly-once的一致性。通過輕量的state snapshots實現
支援高吞吐、低延遲、高效能的流處理
支援savepoints 機制(一般手動觸發)。即可以將應用的執行狀態儲存下來;在升級應用或者處理歷史資料是能夠做到無狀態丟失和最小停機時間。
支援大規模的叢集模式,支援yarn、Mesos。可執行在成千上萬的節點上
支援具有Backpressure功能的持續流模型
Flink在JVM內部實現了自己的記憶體管理
支援迭代計算
支援程式自動優化:避免特定情況下Shuffle、排序等昂貴操作,中間結果進行快取
1. 下載安裝
1.1. Mac OS
使用brew安裝
$ brew install apache-flink
$ flink –version
1.2. 使用安裝包
官網下載地址 https://flink.apache.org/downloads.html
下載flink
下載解壓縮到指定目錄
2. 啟動本地模式
$ cd /Users/hhw/myapp/flink-1.7.0/bin
Start a Local Flink Cluster
$ ./bin/start-cluster.sh
瀏覽器訪問
http://localhost:8081/#/overview
可以看到Flink WebUI
檢視啟動日誌
$ tail -f log/flink-*-taskexecutor-*local.out
3. 執行Demo
官方例子,會從一個socket中讀一段文字,並且每隔5秒列印每個單詞出現的數量
start a socket client
$ nc -l 9000
run flink examples
$ ./bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000
檢視輸出日誌
$ tail -f log/flink-*.out
4. 停止Flink
$ bin/stop-cluster.sh
相關文章
- sqoop 安裝與配置使用OOP
- 本地windows搭建spark環境,安裝與詳細配置(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)WindowsSparkJDKHadoop
- Flume1.7.0下載及安裝部署
- Windows下Scoop安裝、配置與使用WindowsOOP
- nginx 編譯安裝與配置使用Nginx編譯
- centos7 (阿里雲、linux) 單機spark的安裝與配置詳解(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)CentOS阿里LinuxSparkJDKHadoop
- Supervisor安裝與配置
- Nginx安裝與配置Nginx
- 【Redis】安裝與配置Redis
- [Redis] 安裝與配置Redis
- 【MySQL】安裝與配置MySql
- jdk安裝與配置JDK
- MacVim安裝與配置Mac
- 【MongoDB】安裝與配置MongoDB
- Nginx 安裝與配置Nginx
- Spark安裝與配置Spark
- Telnet安裝與配置
- vim安裝與配置
- Rabbitmq安裝與配置MQ
- MySQL安裝與配置MySql
- macOS Java安裝與配置MacJava
- linux maven安裝與配置LinuxMaven
- Redis的安裝與配置Redis
- Kafka SSL安裝與配置Kafka
- Vue的安裝與配置Vue
- Mac 安裝與配置mongodbMacMongoDB
- Mac Flutter安裝與配置MacFlutter
- MariaDB的安裝與配置
- Centos安裝與配置RedisCentOSRedis
- mac安裝apache flinkMacApache
- OSWatcher的安裝、配置、使用
- Nginx的安裝配置使用Nginx
- kubernetes安裝配置使用vGPUGPU
- CentOS 7 安裝、配置、使用 PostgreSQL 10 安裝及基礎配置CentOSSQL
- jenkins安裝與配置學習Jenkins
- Mac上Git安裝與配置MacGit
- maven下載、安裝與配置Maven
- 詳解:Flannel安裝與配置