理解Flink之一编译Flink-1.11.1
下载源码
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的更多相关文章
- 编译Flink 1.9.0
闲来无事,编个Flink 1.9 玩玩 1.下载flink.flink-shaded 源码.解压 flink flink-shaded 7.0 [venn@venn release]$ ll tota ...
- 01.Flink笔记-编译、部署
Flink开发环境部署配置 Flink是一个以Java及Scala作为开发语言的开源大数据项目,代码开源在github上,并使用maven来编译和构建项目.所需工具:Java.maven.Git. 本 ...
- Flink学习笔记:Flink开发环境搭建
本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...
- flink部署操作-flink standalone集群安装部署
flink集群安装部署 standalone集群模式 必须依赖 必须的软件 JAVA_HOME配置 flink安装 配置flink 启动flink 添加Jobmanager/taskmanager 实 ...
- 《从0到1学习Flink》—— 介绍Flink中的Stream Windows
前言 目前有许多数据分析的场景从批处理到流处理的演变, 虽然可以将批处理作为流处理的特殊情况来处理,但是分析无穷集的流数据通常需要思维方式的转变并且具有其自己的术语(例如,"windowin ...
- Flink初探-为什么选择Flink
本文主要记录一些关于Flink与storm,spark的区别, 优势, 劣势, 以及为什么这么多公司都转向Flink. What Is Flink 一个通俗易懂的概念: Apache Flink 是近 ...
- hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析
hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析 Spark是一种快速.通用的计算集群系统,Spark提出的最主要抽象概念是弹性分布式数据集(RDD),它是一个元素集 ...
- Gvim自动编译运行c++11的程序
gcc中对c++11的支持是默认不开启的,要想在实现对其的成功编译,需要添加参数-std=c++11: g++ -o test.exe test.cpp g++ -o test.exe test.cp ...
- CentOS_5.6下使用cmake编译MySQL_5.5.11
MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采用这种方式,网上找了一些安装方法有些地方是错的,自己整理一份 所以特地记录一下安装步骤及过程,以供参考!1 mysql 5 ...
- 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编译安装,估计以后的版本也会采 ...
随机推荐
- c程序设计语言 by K&R(一)一些c语言基础知识
出自<c程序设计语言> by K&R: 一.导言 二.类型.运算符与表达式 三.控制流 1. 字符输入与输出 getchar() 和 putchar(),输入一个字符.输出一个字符 ...
- 如何在 Web 前端做 3D 音效处理
一.背景 在社交元宇宙.大逃杀等类型的游戏场景下,用户在通过简单语音交流外,结合场景也需要一些立体声效果来让用户感知游戏角色周围其他用户的存在及其对应的距离和方位,提高语音互动的趣味性. 为了满足 ...
- Spring —— AOP(面向切面编程)
AOP(Aspect Oriented Programming)简介 面向切面编程,一种编程范式,指导开发者如何组织程序结构 作用:在不惊动原始设计的基础上为其进行功能增强 Spring理念:无入侵式 ...
- map的线程安全,boost库读写锁的实现
*************** map的线程安全 ******************** * * 参考1 * map要实现线程安全必须要加锁,如果使用mutex会产生大量的线程等待,可以 ...
- CSP-S 2023
T1 直接 \(10^{5}\) 枚举状态就过了,合法的非零差分数量只可能为 \(1,2\)(\(0\) 相当于没转,按照题意 "都不是正确密码" 是不符的) 需要注意的是形如 0 ...
- [TK] HH的项链 离线树状数组解法
实际上这题很难和树状数组联系起来,我感觉效率也不是很高,感觉不是正解 怎么使用树状数组 这道题我们很容易想到一点:同种物品在一个区间内只能出现一次,先不考虑别的问题,我们想出下面这种使用树状数组的思路 ...
- 暑假集训CSP提高模拟7
这个 T1 的 \(n^{3}\) 的 SPJ 效率还是太慢了,膜拜 SPJ 大神学长,还会画画 A.Permutations & Primes 这题感觉挺水的但是感觉有不是那么水,主要还是因 ...
- 使用duxapp开发 React Native App 事半功倍
Taro的React Native端开发提供了两种开发方式,一种是将壳和代码分离,一种是将壳和代码合并在一起开发 壳是用来打包调试版或者发版安装包使用的 代码是运行在壳上的js代码 Taro壳子的代码 ...
- 3.1 gradio的基本使用详解
·gr.Text:用于文本输入,适用于自然语言处理任务的模型. gr.Image:用于图像上传,适用于图像处理或计算机视觉模型. ·gr.Audio:用于音频输入,适用于语音识别或音频处理模型. im ...
- 2. react项目【前端】+C#【后端】从0到1
前端 1. 删除默认的src下所有文件,替换如下文件目录 2. src/index.js: