Flink本地安裝和建立Flink應用

本篇文章首發於頭條號Flink本地安裝和建立Flink應用,歡迎關注個人頭條號和微信公衆號「大數據技術和人工智能」(微信搜索bigdata_ai_tech)獲取更多幹貨,也歡迎關注個人CSDN博客html


本篇介紹一下Flink本地環境搭建和建立Flink應用。java

本地安裝

Flink能夠在Linux、Mac OS X和Windows上運行,要求安裝Java 8.x。web

java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
#從官網下載頁面 http://flink.apache.org/downloads.html 下載Flink
wget http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.8.0/flink-1.8.0-bin-scala_2.11.tgz
tar xzf flink-1.8.0-bin-scala_2.11.tgz
cd flink-1.8.0
#啓動本地Flink羣集
./bin/start-cluster.sh
#中止本地Flink羣集
#./bin/stop-cluster.sh

啓動成功後能夠打開http://127.0.0.1:8081看到Flink的web UI,以下圖所示。shell

本地安裝也能夠經過Flink源碼構建的方式,具體操做能夠參考Flink源碼分析-源碼構建apache

運行示例

使用nc命令監聽指定端口。bash

nc -l 9002
#而後隨便輸入點東西,好比像下面這樣
#這些東西在提交SocketWindowWordCount Job以前或以後輸入都是能夠的
hello world
word count
hi
flink
ha ha

運行Flink測試example,這裏用Flink WordCount Job來測試一下。微信

#在源碼目錄下執行,指定9002端口,這個端口要和剛剛nc命令監聽的端口一致
./build-target/bin/flink run ./build-target/examples/streaming/SocketWindowWordCount.jar --port 9002

查看SocketWindowWordCount Job的輸出。curl

#在源碼目錄下執行
tail -100f ./build-target/log/flink-*-taskexecutor-0-*.out
#執行後輸出以下
hello : 1
world : 1
word : 1
count : 1
hi : 1
flink : 1
ha : 2

也能夠在Flink web UI裏查看輸出,以下圖所示。源碼分析

建立項目

Flink能夠使用Maven和Gradle來構建,這裏只介紹使用Maven構建,要求使用Maven 3.x和Java 8.x。測試

  1. 使用Maven建立
#使用Maven建立
mvn archetype:generate                              \
  -DarchetypeGroupId=org.apache.flink               \
  -DarchetypeArtifactId=flink-quickstart-java       \
  -DarchetypeVersion=1.8.0                          \
  -DgroupId=flink-demo                              \
  -DartifactId=flink-demo                           \
  -Dversion=0.1                                     \
  -Dpackage=myflink                                 \
  -DinteractiveMode=false

若是沒有指定groupIdartifactIdversionpackage,在建立的過程當中會提示定義這幾個參數的值並確認,以下圖所示。

  1. 使用官方提供的快速入門腳本建立
#使用官方提供的快速入門腳本建立
curl https://flink.apache.org/q/quickstart.sh | bash -s 1.8.0
  1. 使用IntelliJ IDEA等集成開發環境新建

建立好的項目結構以下

tree myflink/
.
├── pom.xml
└── src
    └── main
        ├── java
        │   └── myflink
        │       ├── BatchJob.java
        │       └── StreamingJob.java
        └── resources
            └── log4j.properties

接下來就能夠開始開心愉快的coding啦^_^

相關文章
相關標籤/搜索