Mac 在IDEA 部署flink 并编写第一个流式WordCount程序

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。