flink是一款開源的大數據流式處理框架,他能夠同時批處理和流處理,具備容錯性、高吞吐、低延遲等優點,本文簡述flink在windows和linux中安裝步驟,和示例程序的運行。html
首先要想運行Flink,咱們須要下載並解壓Flink的二進制包,下載地址以下:https://flink.apache.org/downloads.htmljava
咱們能夠選擇Flink與Scala結合版本,這裏咱們選擇最新的1.9版本Apache Flink 1.9.0 for Scala 2.12進行下載。linux
下載成功後,在windows系統中能夠經過Windows的bat文件或者Cygwin來運行Flink。shell
在linux系統中分爲單機,集羣和Hadoop等多種狀況。apache
首先啓動cmd命令行窗口,進入flink文件夾,運行bin目錄下的start-cluster.bat
windows
注意:運行flink須要java環境,請確保系統已經配置java環境變量。瀏覽器
$ cd flink $ cd bin $ start-cluster.bat Starting a local cluster with one JobManager process and one TaskManager process. You can terminate the processes via CTRL-C in the spawned shell windows. Web interface by default on http://localhost:8081/.
顯示啓動成功後,咱們在瀏覽器訪問 http://localhost:8081/ 能夠看到flink的管理頁面。服務器
Cygwin是一個在windows平臺上運行的類UNIX模擬環境,官網下載:http://cygwin.com/install.htmlsession
安裝成功後,啓動Cygwin終端,運行start-cluster.sh
腳本。框架
$ cd flink $ bin/start-cluster.sh Starting cluster.
顯示啓動成功後,咱們在瀏覽器訪問 http://localhost:8081/ 能夠看到flink的管理頁面。
在Linux上單節點安裝方式與cygwin同樣,下載Apache Flink 1.9.0 for Scala 2.12,而後解壓後只須要啓動start-cluster.sh。
集羣安裝分爲如下幾步:
一、在每臺機器上覆制解壓出來的flink目錄。
二、選擇一個做爲master節點,而後修改全部機器conf/flink-conf.yaml
jobmanager.rpc.address = master主機名
三、修改conf/slaves,將全部work節點寫入
work01 work02
四、在master上啓動集羣
bin/start-cluster.sh
咱們能夠選擇讓Flink運行在Yarn集羣上。
下載Flink for Hadoop的包
保證 HADOOP_HOME已經正確設置便可
啓動 bin/yarn-session.sh
提交flink的批處理examples程序:
bin/flink run examples/batch/WordCount.jar
這是flink提供的examples下的批處理例子程序,統計單詞個數。
$ bin/flink run examples/batch/WordCount.jar Starting execution of program Executing WordCount example with default input data set. Use --input to specify file input. Printing result to stdout. Use --output to specify output path. (a,5) (action,1) (after,1) (against,1) (all,2) (and,12) (arms,1) (arrows,1) (awry,1) (ay,1)
獲得結果,這裏統計的是默認的數據集,能夠經過--input --output指定輸入輸出。
咱們能夠在頁面中查看運行的狀況:
啓動nc服務器:
nc -l 9000
提交flink的批處理examples程序:
bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000
這是flink提供的examples下的流處理例子程序,接收socket數據傳入,統計單詞個數。
在nc端寫入單詞
$ nc -l 9000 lorem ipsum ipsum ipsum ipsum bye
輸出在日誌中
$ tail -f log/flink-*-taskexecutor-*.out lorem : 1 bye : 1 ipsum : 4
中止flink
$ ./bin/stop-cluster.sh
更多實時計算,Flink,Kafka等相關技術博文,歡迎關注實時流式計算