下载源码

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. LinkedHashMap原理详解—从LRU缓存机制说起

    写在前面 从一道Leetcode题目说起 首先,来看一下Leetcode里面的一道经典题目:146.LRU缓存机制,题目描述如下: 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结 ...

  2. C语言实现面向对象方法学的GLib、GObject-初体验

    0. 扫盲: GLib是用C写的一些utilities,即C的工具库,和libc/glibc(GNU C Library)没有关系. GLib是 Gtk+ 库和 Gnome 的基础.GLib可以在多个 ...

  3. [namespace hdk] string

    #include<bits/stdc++.h> using namespace std; namespace hdk{ const int siz=100001; class string ...

  4. springboot多文件上传、删除、下载到项目本地

    package com.example.demo.document; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUti ...

  5. c++可变模板参数

    在C++中的可变模板参数使用省略号 ... 来表示一个参数包(Parameter Pack),其具体位置决定了这个包是模板参数包还是函数参数包,以及如何进行参数展开. 1. 模板参数包:c... Ar ...

  6. C#中的原始字符串

    // 原始字符串使用 三个引号(至少三对)包裹,ps: 引号单独占用一行 // 原始字符串使用变量需要加两个 $$"""{变量}""" st ...

  7. 安装并运行tomcat8

    ps:tomcat7对应 jdk 1.7 tomcat8对应 jdk 1.8 注意要对应自己的项目选择下载tomcat版本 1. 软件商城搜索安装 tokcat 找到自己的tomcat的端口 8023 ...

  8. kotlin类与对象——>委托、委托属性

    1.委托 1.1 委托的实现 委托模式已经证明是实现继承的一个很好的替代方式,而 Kotlin 可以零样板代码地原生支持它. Derived 类可以通过将其所有公有成员都委托给指定对象来实现一个接口 ...

  9. HiT-SR:基于层级Transformer的超分辨率,计算高效且能提取长距离关系 | ECCV'24

    Transformer在计算机视觉任务中表现出了令人鼓舞的性能,包括图像超分辨率(SR).然而,流行的基于Transformer的SR方法通常采用具有二次计算复杂度的窗口自注意力机制,导致固定的小窗口 ...

  10. 抽象队列同步器AQS

    AQS是AbstractQueuedSynchronizer的简称,即抽象队列同步器,从字面上可以这样理解: 抽象:抽象类,只实现一些主要逻辑,有些方法由子类实现: 队列:使用先进先出(FIFO)的队 ...