1磕蛇、環(huán)境配置
Java 環(huán)境配置:https://www.runoob.com/java/java-environment-setup.html
Maven 教程:https://www.runoob.com/maven/maven-setup.html
Intellij Idea:https://www.jetbrains.com/idea/
2、創(chuàng)建Maven 項(xiàng)目
簡單使用Intellij Idea內(nèi)置的Maven工具創(chuàng)建
(1)
(2)
(3)
(4)
(5)
(6)
這里特別重要堰乔,否則會(huì)沒有src目錄
(7)
這里就算安裝成功了,語句可以在這里寫
object StreamingJob {
? def main(args: Array[String]) {
? ? // 創(chuàng)建 Flink 執(zhí)行環(huán)境
? ? val env = StreamExecutionEnvironment.getExecutionEnvironment
? ? // 接收socket的輸入流
? ? // 使用本地9000端口脐恩,如端口被占用可換一個(gè)端口
? ? val textStream = env.socketTextStream("localhost", 9000, '\n')
? ? // 使用Flink算子對(duì)輸入流的文本進(jìn)行操作
? ? // 按空格切詞镐侯、計(jì)數(shù)、分組驶冒、設(shè)置時(shí)間窗口苟翻、聚合
? ? val windowWordCount = textStream
? ? ? .flatMap(line => line.split("\\s"))
? ? ? .map(word => (word, 1))
? ? ? .keyBy(0)
? ? ? //.timeWindow(Time.seconds(5))
? ? ? .sum(1)
? ? // 單線程打印結(jié)果
? ? windowWordCount.print().setParallelism(1)
? ? // execute program
? ? env.execute("Socket Window WordCount")
? }
}
3、啟動(dòng)任務(wù)
(1)終端寫入nc -l 9000
(2)
(3)
(4)
4骗污、本地部署flink 集群
(1) 終端輸入brew info apache-flink 查詢你的安裝目錄
(2)$ cd /usr/local/Cellar/apache-flink/1.9.0
(3)$ ./libexec/bin/start-cluster.sh
這就算啟動(dòng)起來了
(4) 網(wǎng)頁輸入http://localhost:8081/就能看到這樣的頁面
5崇猫、將任務(wù)打包成jar,發(fā)布到集群中
(1)
(2)
(3)
(4)
6身堡、停止集群
終端輸入
$ cd /usr/local/Cellar/apache-flink/1.9.0
$ ./libexec/bin/stop-cluster.sh