溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Flink怎么用

發(fā)布時(shí)間:2021-12-28 11:54:54 來(lái)源:億速云 閱讀:232 作者:小新 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)Flink怎么用,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Flink安裝準(zhǔn)備

Flink運(yùn)行支持 Linux、蘋果、Windows 主流平臺(tái)。不過(guò)最好還是使用 Linux。下面給出安裝前的準(zhǔn)備:

  1. 安裝 Jdk1.7.X 或者以上的版本

  2. 在 Flink 官網(wǎng)下載對(duì)應(yīng) Hadoop 預(yù)編譯版本

將預(yù)編譯版本解壓,進(jìn)入解壓縮文件,為了方便,后文統(tǒng)一稱此目錄為:FLINK_HOME。

開(kāi)始安裝

單機(jī)快速嘗試

單機(jī)嘗試非常簡(jiǎn)單,直接執(zhí)行命令:

  1. Linux用戶: sh bin/start-local.sh

  2. Windows用戶,在命令窗戶輸入:bin\start-local.bat

等待其出現(xiàn)如下提示之后:

D:\Java\flink\flink-0.10.1>bin\start-local.bat
Starting Flink job manager. Webinterface by default on http://localhost:8081/.
Don't close this batch window. Stop job manager by pressing Ctrl+C.

在瀏覽器中輸入:http://localhost:8081/,F(xiàn)link默認(rèn)監(jiān)聽(tīng)8081端口,防止其他進(jìn)程占用此端口。此時(shí)出現(xiàn)下面的管理界面:
Flink怎么用
可以發(fā)現(xiàn)這個(gè)界面和 Spark 的管理界面的邏輯差不多,主要是管理正在運(yùn)行的Job,已經(jīng)完成的 Job,以及Task 管理和 Job 管理,Task 應(yīng)該是管理 Job 的,以后再仔細(xì)分析里面的邏輯。

跑第一個(gè)例子

下面迫不及待先來(lái)跑一個(gè)分布式系統(tǒng)最經(jīng)典的例子:WordCount,下面以 FLINK_HOME 的 README.txt 文件作為示例文件,測(cè)試 WordCount 程序,在 Windows 上面運(yùn)行代碼以及運(yùn)行過(guò)程如下圖:

D:\Java\flink\flink-0.10.1>bin\flink.bat run .\examples\WordCount.jar file:/D:/Java/flink/flink-0.10.1/README.txt file:/D:/Java/flink/flink-0.10.1/wordcount-result.txt
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.li
b.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
01/15/2016 16:30:51     Job execution switched to status RUNNING.
01/15/2016 16:30:51     CHAIN DataSource (at getTextDataSet(WordCount.java:142)
(org.apache.flink.api.java.io.TextInputFormat)) -> FlatMap (FlatMap at main(WordCount.java:69)) -> Combine(SUM(1), at main(WordCount.java:72)(1/1) switched to SCHEDULED
01/15/2016 16:30:51     CHAIN DataSource (at getTextDataSet(WordCount.java:142)
(org.apache.flink.api.java.io.TextInputFormat)) -> FlatMap (FlatMap at main(WordCount.java:69)) -> Combine(SUM(1), at main(WordCount.java:72)(1/1) switched to DEPLOYING
01/15/2016 16:30:52     CHAIN DataSource (at getTextDataSet(WordCount.java:142)
(org.apache.flink.api.java.io.TextInputFormat)) -> FlatMap (FlatMap at main(WordCount.java:69)) -> Combine(SUM(1), at main(WordCount.java:72)(1/1) switched to RUNNING
01/15/2016 16:30:52     Reduce (SUM(1), at main(WordCount.java:72)(1/1) switched to SCHEDULED
01/15/2016 16:30:52     Reduce (SUM(1), at main(WordCount.java:72)(1/1) switched to DEPLOYING
01/15/2016 16:30:52     CHAIN DataSource (at getTextDataSet(WordCount.java:142)
(org.apache.flink.api.java.io.TextInputFormat)) -> FlatMap (FlatMap at main(WordCount.java:69)) -> Combine(SUM(1), at main(WordCount.java:72)(1/1) switched to FINISHED
01/15/2016 16:30:52     Reduce (SUM(1), at main(WordCount.java:72)(1/1) switched to RUNNING
01/15/2016 16:30:53     DataSink (CsvOutputFormat (path: file:/D:/Java/flink/flink-0.10.1/wordcount-result.txt, delimiter:  ))(1/1) switched to SCHEDULED
01/15/2016 16:30:53     DataSink (CsvOutputFormat (path: file:/D:/Java/flink/flink-0.10.1/wordcount-result.txt, delimiter:  ))(1/1) switched to DEPLOYING
01/15/2016 16:30:53     Reduce (SUM(1), at main(WordCount.java:72)(1/1) switched to FINISHED
01/15/2016 16:30:53     DataSink (CsvOutputFormat (path: file:/D:/Java/flink/flink-0.10.1/wordcount-result.txt, delimiter:  ))(1/1) switched to RUNNING
01/15/2016 16:30:53     DataSink (CsvOutputFormat (path: file:/D:/Java/flink/flink-0.10.1/wordcount-result.txt, delimiter:  ))(1/1) switched to FINISHED
01/15/2016 16:30:53     Job execution switched to status FINISHED.

可以看到輸出日志非常詳細(xì),很方便就清楚整個(gè)運(yùn)行流程,得到輸出文件 wordcount-result.txt 前面10條內(nèi)容如下 :

1 1
13 1
5d002 1
740 1
about 1
account 1
administration 1
algorithms 1
and 7
another 1
any 2

關(guān)于“Flink怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI