1、环境配置
Java 环境配置: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、创建Maven 项目
简单使用Intellij Idea内置的Maven工具创建
(1)
(2)
(3)
(4)
(5)
(6)
这里特别重要,否则会没有src目录
(7)
这里就算安装成功了,语句可以在这里写
object StreamingJob {
def main(args: Array[String]) {
// 创建 Flink 执行环境
val env = StreamExecutionEnvironment.getExecutionEnvironment
// 接收socket的输入流
// 使用本地9000端口,如端口被占用可换一个端口
val textStream = env.socketTextStream("localhost", 9000, '\n')
// 使用Flink算子对输入流的文本进行操作
// 按空格切词、计数、分组、设置时间窗口、聚合
val windowWordCount = textStream
.flatMap(line => line.split("\\s"))
.map(word => (word, 1))
.keyBy(0)
//.timeWindow(Time.seconds(5))
.sum(1)
// 单线程打印结果
windowWordCount.print().setParallelism(1)
// execute program
env.execute("Socket Window WordCount")
}
}
3、启动任务
(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
这就算启动起来了
(4) 网页输入http://localhost:8081/就能看到这样的页面
5、将任务打包成jar,发布到集群中
(1)
(2)
(3)
(4)
6、停止集群
终端输入
$ cd /usr/local/Cellar/apache-flink/1.9.0
$ ./libexec/bin/stop-cluster.sh