下载源码

git clone -b release-1.11.1 https://github.com/apache/flink.git --depth=1 flink-1.11.1

编译

mvn clean install -DskipTests -Dhadoop.version=2.6.0-cdh5.16.1 -Dscala-2.11

因为需要依赖cdh,所以在flink项目根目录的pom.xml中添加如下内容:





cloudera

https://repository.cloudera.com/artifactory/cloudera-repos

异常

报错信息 - 1:

[ERROR] Failed to execute goal on project flink-hadoop-fs: Could not

resolve dependencies for project

org.apache.flink:flink-hadoop-fs:jar:1.11.1: The following artifacts

could not be resolved:

org.codehaus.jackson:jackson-mapper-asl:jar:1.8.10-cloudera.1,

org.apache.hadoop:hadoop-common:jar:tests:2.6.0-cdh5.16.1: Could not

find artifact

org.codehaus.jackson:jackson-mapper-asl:jar:1.8.10-cloudera.1 in

repo.mfw (https://nexus.mfwdev.com/repository/maven-public/) -> [Help 1]

这个就是在没有添加cdh的依赖所致,添加后就可以解决。

报错信息 - 2:

[ERROR] Failed to execute goal

org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile

(default-compile) on project flink-table-api-java: Compilation failure

[ERROR]

/home/mfw_hadoop/wenhao/flink-1.11.1/flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/operations/utils/OperationTreeBuilder.java:[631,85]

unreported exception X; must be caught or declared to be thrown

这是JDK的bug,在编译机器上使用的是JDK版本为openjdk version “1.8.0_242”。JAVA_HOME却设置为1.8.0_71。

将两者统一为“1.8.0_242”后,解决该问题。

说明JDK为1.8.0_71是存在该问题的。

这也说明编译机器的环境是有问题的,这个应当注意。

说明

因为考虑到flink将会在yarn上运行,所以在编译时需要添加-Dhadoop.version=2.6.0-cdh5.16.1。这个版本应该与Hadoop集群版本一致。

从结果上看flink-1.11.1的编译比以前更加简单了。

其他

shaded

git clone https://github.com/apache/flink-shaded.git

mvn clean install -DskipTests -Dhadoop.version=2.6.0-cdh5.16.1

以前的flink版本中,还需要自己编译shaded,这次编译1.11.1,则不需要。不知是因为2.6.0-cdh5.16.1已经被编译好了,还是其他原因。

javase下载地址

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

理解Flink之一编译Flink-1.11.1的更多相关文章

  1. 编译Flink 1.9.0

    闲来无事,编个Flink 1.9 玩玩 1.下载flink.flink-shaded 源码.解压 flink flink-shaded 7.0 [venn@venn release]$ ll tota ...

  2. 01.Flink笔记-编译、部署

    Flink开发环境部署配置 Flink是一个以Java及Scala作为开发语言的开源大数据项目,代码开源在github上,并使用maven来编译和构建项目.所需工具:Java.maven.Git. 本 ...

  3. Flink学习笔记:Flink开发环境搭建

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  4. flink部署操作-flink standalone集群安装部署

    flink集群安装部署 standalone集群模式 必须依赖 必须的软件 JAVA_HOME配置 flink安装 配置flink 启动flink 添加Jobmanager/taskmanager 实 ...

  5. 《从0到1学习Flink》—— 介绍Flink中的Stream Windows

    前言 目前有许多数据分析的场景从批处理到流处理的演变, 虽然可以将批处理作为流处理的特殊情况来处理,但是分析无穷集的流数据通常需要思维方式的转变并且具有其自己的术语(例如,"windowin ...

  6. Flink初探-为什么选择Flink

    本文主要记录一些关于Flink与storm,spark的区别, 优势, 劣势, 以及为什么这么多公司都转向Flink. What Is Flink 一个通俗易懂的概念: Apache Flink 是近 ...

  7. hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析

    hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析 Spark是一种快速.通用的计算集群系统,Spark提出的最主要抽象概念是弹性分布式数据集(RDD),它是一个元素集 ...

  8. Gvim自动编译运行c++11的程序

    gcc中对c++11的支持是默认不开启的,要想在实现对其的成功编译,需要添加参数-std=c++11: g++ -o test.exe test.cpp g++ -o test.exe test.cp ...

  9. CentOS_5.6下使用cmake编译MySQL_5.5.11

    MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采用这种方式,网上找了一些安装方法有些地方是错的,自己整理一份 所以特地记录一下安装步骤及过程,以供参考!1 mysql 5 ...

  10. CentOS_5.6下使用cmake编译MySQL_5.5.11教程

    注:资料来自网络    Centos 5.6编译安装mysql 5.5.11 2011年06月24日 星期五 05:33 MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采 ...

随机推荐

  1. Dell存储备份告警:

    创建时间 修改日期 对象名称 消息 类型 告警状态 已确认 告警定义 类型 23-3-12 11:59:26 23-3-12 11:59:37 copyMirrorswap 2 CMs Operati ...

  2. CSS & JS Effect – Button Hover Bling Bling Effect

    效果 原理 一眼看上去, background 有渐变颜色 linear-gradient. 当 hover in 的时候有一束白光, 从右边移动到左边. hover out 则是反过来. 它其实是通 ...

  3. TypeScript – tsconfig

    前言 上一篇 TypeScript – Get Started 使用了命令 tsc index.ts --module es2015 很少人会在命令时给写 config, 更正规的做法是创建一个 ts ...

  4. 一个 tomcat 下如何部署多个项目?附详细步骤

    一个tomcat下如何部署多个项目?Linux跟windows系统下的步骤都差不多,以下linux系统下部署为例.windows系统下部署同理. 一.不修改端口,部署多个项目 清楚tomcat目录结构 ...

  5. 1 月 25 日见|Flutter Forward 活动日程表正式发布!

    2023 年 1 月 25 日 (正月初四),我们将在肯尼亚首都内罗毕举办 Flutter Forward 大会,并同时开启线上直播.本次活动将展示最新的 Flutter 技术更新,包括一个主题演讲以 ...

  6. Vue3——集成 sass

    安装 sass npm install sass sass-loader -D 使用 scss 语法!!!需要加上 lang="scss" <style scoped lan ...

  7. 一次基于AST的大规模代码迁移实践

    作者:来自 vivo 互联网大前端团队- Wei Xing 在研发项目过程中,我们经常会遇到技术架构迭代更新的需求,通过技术的迭代更新,让项目从新的技术特性中受益,但由于很多新的技术迭代版本并不能完全 ...

  8. 【赵渝强老师】HBase的体系架构

    一.什么是HBase? HBase是一个基于HDFS之上的分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"BigTable大表",即:把所 ...

  9. Nuxt.js 应用中的 app:redirected 钩子详解

    title: Nuxt.js 应用中的 app:redirected 钩子详解 date: 2024/10/3 updated: 2024/10/3 author: cmdragon excerpt: ...

  10. USB 同步字段中高速同步字段和低速全速同步字段的区别

    USB(Universal Serial Bus)有几种不同的传输模式:低速(Low-Speed).全速(Full-Speed).高速(High-Speed)和超级速度(SuperSpeed).同步字 ...