Flink 1.7.0 安裝、配置與使用

weixin_34124651發表於2018-12-06

本地單機安裝

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

2399767-2fdee20a62ca3565
image

下載解壓縮到指定目錄

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

2399767-3fa782035043deb6
image

檢視啟動日誌

$ tail -f log/flink-*-taskexecutor-*local.out

3. 執行Demo

官方例子,會從一個socket中讀一段文字,並且每隔5秒列印每個單詞出現的數量

start a socket client

$ nc -l 9000
2399767-a0061256561dd49e
image

run flink examples

$ ./bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000

檢視輸出日誌

$ tail -f log/flink-*.out
2399767-669fcb31797f95d6
image

4. 停止Flink

$ bin/stop-cluster.sh

相關文章