发布日期:2023-10-30 03:07 点击次数:217
取得Flink源代码的风景有两种:一种是通过官网的源代码下载地址径直下载乐鱼轮盘,另一种是通过git clone的风景。
1)官网下载风景
下载地址为
沙巴龙虎斗https://flink.apache.org/downloads.html
聘请Flink 1.9.0的Source版块下载。
2)git clone风景
输入git clone git@github.com:apache/flink.git 号召将源代码下载到土产货,如图1-5所示。
根据央行发布的最新市场交易公告:本次1年期MLF的中标利率,为2.5%!而在上个月数据还是2.65%!也就是说,本轮MLF利率下降了15BP!
网站以其丰富博彩游戏赛事直播博彩攻略技巧分享,广大博彩爱好者提供优质博彩服务多样化博彩游戏,您博彩游戏中尽情享受乐趣收益。▲图1-5 git clone风景下载
2. 导入Flink源代码导入Flink 源代码分红两步,差别是将Flink源代码导入IDEA和树立Flink源代码的CheckStyle。其中,树立好Flink 源代码的CheckStyle是为了保证Flink 源代码修改相宜CheckStyle里的轨范条目。
将下载好的Flink源代码导入IDEA,历程如下。
启动IntelliJ IDEA 并单击宽待窗口右上角的Open按钮。
在弹出窗口中聘请Flink源代码的根目次。
聘请Import project from external model和maven项,并单击Next按钮。
聘请SDK。若是之前莫得树立过SDK,单击“+”图标, 并点击JDK,聘请你的JDK的目次,然后单击OK按钮。
单击Next 按钮完成Flink源代码的导入。
在导入的风景右侧单击Maven→Generate Sources and Update Folders的图标,将Flink Library 构建到Maven 土产栈房库。
构建风景(单击Build→Make Project图标)。
思对Flink进行二次开发玩忽为开源社区孝敬代码的读者不错聘请树立CheckStyle。
1)Java CheckStyle树立历程
IntelliJ IDEA 通过CheckStyle-IDEA 插件来相沿CheckStyle。
在IntelliJ IDEA 的Plugins Marketplace中查找并装配 CheckStyle-IDEA 插件。
挨次聘请Settings→Tools→Checkstyle并缔造checkstyle。
将 Scan Scope缔造为Only Java sources(including tests)。
在Checkstyle version下拉列表中聘请checkstyle版块,并单击Apply按钮。(注:官方保举版块为8.12。)
在Configuration 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按钮即完成树立。
博彩平台注册送免费游戏皇冠篮球90比分勾选刚刚添加的新树立Flink,以将其缔造为活跃的树立,挨次单击Apply 和OK按钮,即完成Java 部分CheckStyle的树立。若源代码违犯CheckStyle轨范,CheckStyle会给出训诫。
在CheckStyle 构建完成后,挨次聘请Settings→Editor→Code Style→Java,并单击齿轮图标,聘请导入Flink源代码目次下的tools/maven/checkstyle.xml文献,这么就不错自动诊治import的布局了。
不错在CheckStyle的窗口中单击Check Module按钮扫描所有这个词模块,以检测代码的CheckStyle。
防护:现在Flink源代码的flink-core、flink-optimizer和 flink-runtime模块还莫得统统相宜缔造的CheckStyle的条目,因此在这三个模块中出现违犯CheckStyle的训诫是日常的。
2)Scala CheckStyle树立历程
开启Scala 的CheckStyle,挨次聘请Settings→Editor→Inspections,再搜索Scala style inspections并勾选。将Flink源代码目次下的tools/maven/scalastyle_config.xml放手到Flink 源代码的.idea目次下,即完成Scala部分CheckStyle的树立。
二 编译与调试Flink源代码 1. 编译与构建Flink源代码一经导入,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 install -DskipTests $ cd flink-dist $ mvn clean install
保举使用Maven 3.2.5版块,底下就依据这个版正本先容更多的构建本色。使用如下风景快速构建Flink源代码,会跳过测试、QA插件、Java docs。
$ mvn clean install -DskipTests -Dfast
在构建Flink时,会默许构建一个Flink特定的Hadoop 2的jar,欧博正网以供Flink 使用HDFS 和YARN。大大皆开发者有指定Hadoop版块的需求(提倡聘请Hadoop 2.4及以上版块)。
$ mvn clean install -DskipTests -Dhadoop.version=3.2.2 -Dinclude-hadoop
其中加上了-Dinclude-hadoop参数,这会将Hadoop的类打包到lib目次下的flink-
dist*.jar,不然Hadoop 会当作一个jar包放在opt目次下。
利润聘请合适的风景构建Flink风景,会将Flink的构建放到土产货Maven仓库中,并将Flink源代码构建成果放在build-target目次(Flink源代码构建目次)下。不错将build-target目次压缩到一个tar包,即与官网相同的Flink 二进制包。
皇冠客服飞机:@seo3687
2. Flink 源代码调试调试Flink 源代码有助于咱们了解源代码的实行历程和排查问题。Flink 源代码调试分为土产货调试和良友调试,底下来差别先容。
1)土产货调试
皇冠体育以Flink源代码自带Streaming 的WordCount为例先容何如进行土产货调试。找到Flink 源代码目次flink-examples/flink-examples-streaming的多级子目次下的WordCount.java,再聘请Debug。读者不错在Flink源代码中缔造断点进行追踪调试。
2)良友调试
土产货调试仅限于部署模式中的Local模式,对于基于Standalone、on YARN、on Kubernetes的部署模式,需要使用良友调试。
良友调试风景有两种:一是修明天记等第,二是修改树立来开启Java良友调试。
修明天记等第
绽开Flink源代码的构建目次(build-target)下的conf/log4j.properties,证实需要将本色中的INFO改成DEBUG,如下所示,仅仅将rootLogger的赋值从INFO 修改为DEBUG。修改log4j.properties后构建和运行Flink,即可通过DEBUG日记进行良友调试。
# 缔造全局的日记等第 log4j.rootLogger=DEBUG, file # 也不错按需转换Flink、Akka、Hadoop、Kafka和ZooKeeper包以偏激他包的日记等第 log4j.logger.org.apache.flink=INFO log4j.logger.akka=INFO log4j.logger.org.apache.kafka=INFO log4j.logger.org.apache.hadoop=INFO log4j.logger.org.apache.zookeeper=INFO # Log all infos in the given file log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.file=${log.file} log4j.appender.file.append=false log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n # Suppress the irrelevant (wrong) warnings from the Netty channel handler log4j.logger.org.apache.flink.shaded.akka.org.jboss.netty.channel .DefaultChannelPipeline=ERROR, file
修改树立来开启Java良友调试
最初绽开IDEA,创建Remote项(见图1-6)并复制Remote项的Java运行参数本色,然后修改Flink 构建目次下的conf/flink-conf.yaml,添加env.java.opts属性与值,添加的本色如下:
env.java.opts: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n, address=5005
▲图1-6 树立良友调试中的Remote项
还不错通过env.java.opts.jobmanager 与env.java.opts.taskmanager来缔造JobManager 和TaskManager运行的参数,从而缔造开启良友调试。缔造树立后,基于这个构建目次运行Flink运用,证实运行的JobManager 与TaskManager 的IP修改原先树立的Remote项的host,在Flink源代码中缔造断点,通过Debug 树立Remote项来进行良友调试。
缔造env.java.opts、env.java.opts.jobmanager和env.java.opts.taskmanager的轨范在on Kubernetes模式下很适用,因为Flink 运行的各个组件的IP不同。其他模式存在运行组件与IP、调试端口相通的问题,对于这种情况不错研究采选修明天记等第的风景。
通过学习Flink源代码的编译与构建,咱们知谈何如证实需要构建一个Flink发布包。通过学习Flink源代码的调试,咱们对源代码的调试有了更深的了解,为后续连结源代码和排查源代码问题打下了基础。
对于作家:罗江宇,Flink技巧行家,先后接事于新浪微博、滴滴和某大型电商公司。先后主导或参与了多家公司的Flink及时计议劳动的构建、对超大范围集群的温存以及Flink引擎的更正。领有丰富的及时计议实战训诫,现在专注于Kubernetes调治、Flink SQL及Flink流批一体化地方。
赵士杰,资深大数据技巧行家,曾接事于滴滴、阿里巴巴等一线互联网公司。从0到1深度参与了滴滴的大数据斥地,领有额外丰富的大数据平台一线斥地训诫,对于大数据规模的计议和存储引擎也有深切盘考。
李涵淼,大数据研刊行家,曾任滴滴大数据开发工程师。从事大数据规模使命多年,参与过多家公司流计议平台的想象与研发,现在专注于批流一体、OLAP技巧地方的盘考与运用。
闵文俊,蚂靠拢团技巧行家、开源大数据社区正经者、Flink Contributor,在及时计议规模使命多年,深度参与了滴滴、蚂靠拢团的及时计议平台斥地。
本文摘编自《Flink技巧内幕:架构想象与竣事旨趣》,经出书方授权发布。(ISBN:9787111696292)