手把手教你获取.docx

上传人:lao****ou 文档编号:84412 上传时间:2023-02-18 格式:DOCX 页数:10 大小:105.11KB
下载 相关 举报
手把手教你获取.docx_第1页
第1页 / 共10页
手把手教你获取.docx_第2页
第2页 / 共10页
手把手教你获取.docx_第3页
第3页 / 共10页
手把手教你获取.docx_第4页
第4页 / 共10页
手把手教你获取.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《手把手教你获取.docx》由会员分享,可在线阅读,更多相关《手把手教你获取.docx(10页珍藏版)》请在第一文库网上搜索。

1、手把手教你获取.编译和调试Flink的源代码导读:本文介绍如何导入Flink源代码,对源代码进行编译、构建及调试。01获取与导入Flink源代码1 .下载Flink源代码获取Flink源代码的方式有两种:一种是通过官网的源代码下载地址直接下载,另一种是通过git clone的方式。1)官网下载方式下载地址为https:/flink.apache.org/downloads.html选择Flink 1.9.0的Source版本下载。2 ) git clone 方式输入git clone git:apache/flink.git命令将源代码下载到本地,如图1IGCGJAJua opGj2: 酸(寸

2、丁。383?。) rg W!B I 14-00 K!B2LGUJOe: cowbLGaajud opGC2: jqq(72X12) qoue*|LGW06: COnUfuG OpGCf2: JQQ (J2J2) qOUG*ILGWOG: EUnWGLGauG op16c42: 丁2 qouG Cioujud !o ,U,u|/G“ cjoug 9/f9ipnp-couj:abacp6|.j,ru|Make Project 图标)。想对Flink进行二次开发或者为开源社区贡献代码的读者可以选择配置CheckStyle。1 ) Java CheckStyle 配置流程IntelliJ IDEA 通

3、过 CheckStyle-IDEA 插件来支持 CheckStyle。i. 在 IntelliJ IDEA 的 Plugins Marketplace 中查找并安装 CheckStyle-IDEA 插件。ii. 依次选择 SettingsTools - Checkstyle 并设置 checkstyleoiii. 将 Scan Scope 设置为 Only Java sources (including tests ) oiv. 在Checkstyle version下拉列表中选择checkstyle版本,并单击Apply按钮。(注:官方推荐版本为8.12。)v. 在Configuration

4、 File面板中单击” + ”图标添加新配置:在弹窗中将Description 设置为 Flink ;选中 Use a local Checkstyle file ,并选择 Flink 源代码目录下的 tools/maven/checkstyle.xml 文件;勾选 Store relative to project location选项,单击Next按钮;将checkstyle.suppressions.file的属性设置值为suppressions.xml ,单击Next按钮即完成配置。vi. 勾选刚刚添加的新配置Flink ,以将其设置为活跃的配置,依次单击Apply和0K按钮,即完成J

5、ava部分CheckStyle的配置。若源代码违反CheckStyle规范,Checkstyle会给出警告。在 CheckStyle 构建完成后,依次选择 SettingsEditorCode Style*Java ,并单击齿轮图标,选择导入Flink源代码目录下的tools/maven/checkstyle.xml文件,这样就可以自动调整import的布局了。可以在CheckStyle的窗口中单击Check Module按钮扫描整个模块,以检测代码的CheckStyle。注意:目前 Flink 源代码的 flink-core、flink-optimizer 和 flink-runtime 模

6、块还没有完全符合设置的CheckStyle的要求,因此在这三个模块中出现违反CheckStyle的警告是正常的。2 ) Scala Checkstyle 配置流程开启 Scala 的 CheckStyle ,依次选择 Settings-EditorTnspections ,再搜索 Scalastyle inspections并勾选。将Flink源代码目录下的tools/maven/scalastyle_config.xml 放置到 Flink 源代码的.idea 目录下,即完成Scala 部分 CheckStyle 的配置。02编译与调试Flink源代码1 .编译与构建Flink源代码已经导入

7、,CheckStyle也已配置好,接下来开始编译与构建Flink。在构建源代码之前,假如有修改Flink版本的需求,可以通过修改Flink源代码的tools/change-version.sh 来实现。Flink源代码的编译与构建会因Maven版本的不同而有所差异。对于Maven 3.0.x版本、3.1.x版本、3.2.x版本,可以采用简单构建Flink的方式,在Flink源代码的根目录下运行以下命令。$ mvn clean install -DskipTests而对于Maven 3.3.x及以上版本,则要相对麻烦一点,在Flink源代码的根目录下运行下面的命令。$ mvn clean ins

8、tall -DskipTests$ mvn clean installl推荐使用Maven 325版本,下面就依据这个版本来介绍更多的构建内容。使用如下方式快速构建Flink源代码,会跳过测试、QA插件、Java docso$ mvn clean install -DskipTests -Dfast在构建Flink时会默认构建一个Flink特定的Hadoop 2的jar以供Flink使用HDFS和YARNO大多数开发者有指定Hadoop版本的需求(建议选择Hadoop 2.4及以上版本)。$ mvn clean install -DskipTests -Dhadoop.version=3.2.

9、2 -Dinclude-hadoop|其中力口上了-Dinclude-hadoop参数,这会将Hadoop的类打包到lib目录下的flink-dist*.jar,否则Hadoop会作为一个jar包放在opt目录下。选择合适的方式构建Flink项目,会将Flink的构建放到本地Maven仓库中,并将Flink源代码构建结果放在build-target目冢Flink源代码构建目录)下。可以将build-target目录压缩到一个tar包,即与官网一样的Flink二进制包。2 . Flink源代码调试调试Flink源代码有助于我们了解源代码的执行流程和排查问题。Flink源代码调试分为本地调试和远程

10、调试,下面来分别介绍。1)本地调试以Flink源代码自带Streaming的WordCount为例介绍如何进行本地调试。找到Flink源代码目录flink-examples/flink-examples-streaming的多级子目录下的WordCountjava再选择Debug。读者可以在Flink源代码中设置断点进行跟踪调试。2 )远程调试本地调试仅限于部署模式中的Local模式,对于基于Standalone, on YARN、onKubernetes的部署模式,需要使用远程调试。远程调试方式有两种:一是修改日志等级,二是修改配置来开启Java远程调试。修改日志等级打开Flink源代码的构

11、建目录(build-target)下的conf/log4j.properties ,根据需要将内容中的INFO改成DEBUG ,如下所示,只是将rootLogger的赋值从INFO修改为DEBUGO修改Iog4j.properties后构建和运行Flink ,即可通过DEBUG日志进行远程调试。置全局的口志等级log4j rootLogger=DEBUG, file也可以按需改变Flink、Akka Hadoop Kafka和ZooKeeper包以及其他包的日志与log4jloggerorg.apacheflink=INFOlog4j logger.org.apache.log4j logge

12、r org apache ehadoop=INFOB1oh41 opr apache zookeeperENFOllog4j .appender .filu=org.apache. log4j . FileAppen熊log4j .appender.file.layout=org.apache.log4j . Pattern La西log4j.appender.file.layoutConversionPattern=%dyyyy-MM-dd HH:mm:ss,SSSlog4j loggereOrge apache eflink shaded orgjboss charmelB修改配置来开启J

13、ava远程调试首先打开IDEA,创建Remote项(见图2 )并复制Remote项的Java运行参数内容,然后修改Flink构建目录下的conf/flink-conf.yaml z添加env.java.opts属性与值,添加的内容如下:|envjava.opts: -agentlib:jdwp=transport=dt_socke3server=y,suspend=n, aIName: tobmonagerConAguratton logsDebugger mode: Attach to remote JVM Command Im arguments for remote JVM:一gen tllb: j dwp1Kt ransport dt.soc ket 9 se rve lUm modulo dasspath: 图2配置远程调试中的Remote项还可以通过 env.iava.opts.jobmanager 与 env.java.opts.taskmanager 来设置JobManager和TaskManager运行的参数,从而设置开启远程调试。设置配置后,基于这个构建目录运行Flink应用,根据运行的JobMana

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服