栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

flink 12 源码编译及使用idea运行、debug

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

flink 12 源码编译及使用idea运行、debug

文章目录
    • 0. 环境
    • 1. 编译
    • 2. 运行
      • 2.1. JobManager运行
        • 1. Main class
        • 2. VM options
        • 3. Program arguments
        • 4. Use classpath of module
        • 5. 运行
      • 2.2. TaskManager
    • 3. 其他待解决的
      • 日志只能打印error级别的

0. 环境

maven 3.6.3
java 1.8

1. 编译

maven命令

mvn clean install -DskipTests -Dscala-2.11 -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Drat.skip=true

maven 编译的时候跳过测试代码、javadoc 和代码风格检查,这样可以减少不少时间。

发现在终端使用命令行的方式,基本只需要编译一次即可,不过一般时间比较长,半个小时左右。

对于不是必需地、使用场景不多的module,以及编译时某些module打包出错的问题,可以先在pom中注掉,加快编译。


 

2. 运行 2.1. JobManager运行

配置:

1. Main class

在Main class配置栏中指定StandaloneSessionClusterEntrypoint

2. VM options

配置log4j 便于日志打印
配置classpath用于进程运行

-Dlog4j.configuration=file:/Users/lianggao/MyWorkSpace/001project/flink/build-target/conf/log4j-console.properties
-classpath
:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/flink-csv-1.12.3.jar:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/flink-dist_2.11-1.12.3.jar:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/flink-json-1.12.3.jar:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/flink-shaded-zookeeper-3.4.14.jar:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/flink-table-blink_2.11-1.12.3.jar:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/flink-table_2.11-1.12.3.jar:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/log4j-1.2-api-2.12.1.jar:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/log4j-api-2.12.1.jar:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/log4j-core-2.12.1.jar:/Users/lianggao/MyWorkSpace/001project/flink/build-target/lib/log4j-slf4j-impl-2.12.1.jar
3. Program arguments

用于指定flink-conf.yaml配置文件。同样在源码编译生成的build-target/conf路径中找到配置文件,当然也可以指定文件路径获取配置文件。

在flink-conf.yaml文件中,原则上不需要对参数做任何调整,如果JobManager和TaskManager不在同一台机器上,则需要修改flink-conf.yaml中的参数信息。

这里我们使用build-target/conf路径的默认配置

-c
/Users/lianggao/MyWorkSpace/001project/flink/build-target/conf
4. Use classpath of module

选择flink-runtime_2.11模块。

 

5. 运行

点击运行,并访问:http://localhost:8081/#/overview

 
 

2.2. TaskManager

TaskManager和JobManager的启动方式基本一致,唯一的区别是启动类不同,TaskManager实例的启动类为org.apache.flink.runtime.taskexecutor.TaskManagerRunner。

但是似乎只运行几秒即直接挂掉。
不过没关系,现在我们可以debug了!!!

通过debug发现,taskmanager的动态参数没有配置,在Program arguments 继续添加以下参数,点击运行,此时发现可以了。

-D
taskmanager.memory.framework.off-heap.size=134217728b
-D
taskmanager.memory.network.max=134217730b
-D
taskmanager.memory.network.min=134217730b
-D
taskmanager.memory.framework.heap.size=134217728b
-D
taskmanager.memory.managed.size=536870920b
-D
taskmanager.cpu.cores=1.0
-D
taskmanager.memory.task.heap.size=402653174b
-D
taskmanager.memory.task.off-heap.size=0b
-D
taskmanager.memory.jvm-metaspace.size=268435456b
-D
taskmanager.memory.jvm-overhead.max=201326592b
-D
taskmanager.memory.jvm-overhead.min=201326592b

以上就是在IDEA中搭建分布式集群调试环境的过程,通过客户端命令行可以向Flink集群提交作业并运行,在各个模块中设定代码调试断点。

3. 其他待解决的 日志只能打印error级别的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1039186.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号