理解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编译安装,估计以后的版本也会采 ...
随机推荐
- .NET 8 微软免费开源的 Blazor UI 组件库
前言 .NET 8 的发布,微软推出了官方免费且开源的 Blazor UI 组件库 -- Fluent UI Blazor. 组件库提供了Web应用程序所需的工具,确保应用程序能够与 Microsof ...
- 记一次 RabbitMQ 消费者莫名消失问题的排查
开心一刻 今天好哥们找我借钱哥们:兄弟,我最近手头紧,能不能借我点...我:我手头也不宽裕,要不你试试银行贷款或者花呗?哥们:不行,那个借了要还的我:... 问题回顾 某天下午,生产监控告警:消息积压 ...
- C# 裁剪PDF页面
在处理PDF文档时,有时需要精确地裁剪页面以适应特定需求,比如去除广告.背景信息或者仅仅是为了简化文档内容.本文将介绍如何使用免费.NET控件通过C#实现裁剪PDF页面. 免费库 Free Spire ...
- Linux_动态库与静态库(其一)
1.动态库和静态库的定义 动态库(.so):动态库是编译后不嵌入目标文件中的共享库,在程序运行的时候才去链接动态库的代码,可以被多个程序共享使用,通常以 .so 结尾. 静态库(.a):静态库是将一组 ...
- glance对接ceph
目录 glance对接ceph 1. 上传镜像 2. 对接ceph 2.1 创建池 2.2 创建用户 2.3 下发ceph文件 2.4 修改globals文件 2.5 更新glance配置 3. 上传 ...
- 从url地址获取主机名
function getHost(url) { var host = "null"; if(typeof url == "undefined"|| null = ...
- js中 操作符new 的作用和含义
作用:通过构造函数创建实例对象 :通过 new 出来的实例可以访问构造函数的属性和方法 :
- 云原生周刊:DevOps-resources
推荐一个 GitHub 仓库 "DevOps-resources".这个 GitHub 仓库包含了学习和实践 DevOps 所需的资源列表.它包括涉及云计算.容器化.微服务.自动化 ...
- KubeSphere 网关的设计与实现(解读)
作者:泓舟子,KubeSphere 后端研发工程师,云原生爱好者,现专注于云原生微服务方向. KubeSphere 中为什么需要网关? 如果需要将 K8s 集群内的服务暴露到外部访问有那些方式呢?可以 ...
- 容器部署DNS你会吗?
docker快速部署DNS,实现快速上线 概念 环境介绍 部署DNS 下载相关镜像 创建并启动DNS容器 简单介绍三种创建方式 容器启动停止 创建dns交互式容器 配置DNS容器相关配置 测试 修改客 ...