1. 程式人生 > >flink1.7 之安裝使用centos 7 or windows 10(一)

flink1.7 之安裝使用centos 7 or windows 10(一)

1.centos 7安裝使用

所需要的環境

環境名稱 下載地址
netcat https://eternallybored.org/misc/netcat/
jdk8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
flink1.7 https://flink.apache.org/downloads.html

然後下載你需要的對應的flink 的安裝包,下載地址如下:
配置jdk的環境變數,為了能夠執行Flink,唯一的要求是安裝一個有效的Java 8.x. 

Windows使用者centos 7安裝與使用:https://ci.apache.org/projects/flink/flink-docs-release-1.7/tutorials/local_setup.html

jdk的環境安裝,然後上傳你下載的對應版本的flink(我安裝的flink 在home目錄下),解壓。

 tar -zxf flink-1.7.0-bin-hadoop28-scala_2.11.tgz

然後進入你的flink 目錄下,啟動flink。

cd /home/flink-1.7.0
./bin/start-cluster.sh 

啟動成功

進入http://localhost:8081

 ,localhost是你安裝flink的IP地址,我的IP地址是192.168.234.128。下面是成功的web介面。

我們可以看到有一個可用的task Slots(任務槽), 然後做一個SocketWindowWordCount測試,先安裝netcat,然後出現提示,就一直Y。

yum install nc

然後複製三個ssh視窗,一個用做資料客戶端,一個用做資料服務端,一個用做結果輸出端,現在我們來做一個例子:

啟動一個監聽9000的輸入埠

nc -l 9000

然後啟動我們的任務SocketWindowWordCount.jar

cd /home/flink-1.7.0
./bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000

然後開啟輸出端視窗

cd /home/flink-1.7.0/log/
tail -f flink-root-taskexecutor-0-192.168.234.128.out

OK,再輸入視窗輸入資訊。

 然後我們檢視輸出端。

為什麼有些相同的資料是分開統計的呢?,這個我們需要檢視原始碼,我們可以看到每5s統計window視窗的資料。

 我們在檢視web介面,我們可以看到有一個正在執行的任務,可用的任務槽不存在了,並且我們的任務正在執行。

現在我們關閉輸入端,在檢視web介面。

如上圖我們可以看出,可用的任務槽釋放了,並且有一個完成的任務。 

如果我們不開啟輸入埠,直接啟動一個SocketWindowWordCount.jar任務,我們發現web頁面會出現一個失敗的任務,這樣方便我們直接從web介面監控。

2. windows10安裝使用

首先安裝netcat:參考文章:https://blog.csdn.net/qq_37585545/article/details/82250984

然後根據官方給出的文件:https://ci.apache.org/projects/flink/flink-docs-release-1.7/tutorials/flink_on_windows.html

下載對應的安裝包,解壓安裝包(我這裡flink 的檔案目錄是E:\flink\flink-1.7.0),進入flink目錄,啟動 start-cluster.bat,會啟動兩個Java的視窗,然後cmd啟動兩個,進入命令列,輸入nc -l -p 9000 -v,監控9000端。然後啟動我們的SocketWindowWordCount.jar任務,命令如下:

視窗1:

nc -l -p 9000 -v

視窗2:

E:
cd E:\flink\flink-1.7.0\bin

 然後再視窗2啟動SocketWindowWordCount.jar任務,flink run -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount E:\flink\flink-1.7.0\examples\streaming\SocketWindowWordCount.jar --port 9000

flink run -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount E:\flink\flink-1.7.0\examples\streaming\SocketWindowWordCount.jar --port 9000

我們可以看到視窗1成功的連上了視窗2,然後我們再視窗1輸入資訊。開啟我們啟動flink自動彈出的兩個java視窗。

 

 ok我們可以看到出現了我們想要的結果,如有問題請留言。