Flink 原理、实战与性能优化 (18):环境准备 2.5

阅读数:10 2019 年 12 月 11 日 20:42

Flink原理、实战与性能优化(18):环境准备 2.5

(Flink 源码编译)

内容简介
这是一部以实战为导向,能指导读者零基础掌握 Flink 并快速完成进阶的著作,从功能、原理、实战和调优等 4 个维度循序渐进地讲解了如何利用 Flink 进行分布式流式应用开发。作者是该领域的资深专家,现就职于第四范式,曾就职于明略数据。
全书一共 10 章,逻辑上可以分为三个部分:
第一部分(第 1~2 章)
主要介绍了 Flink 的核心概念、特性、应用场景、基本架构,开发环境的搭建和配置,以及源代码的编译。
第二部分(第 3~9 章)
详细讲解了 Flink 的编程范式,各种编程接口的功能、应用场景和使用方法,以及核心模块和组件的原理和使用。
第三部分(第 10 章)
重点讲解了 Flink 的监控和优化,参数调优,以及对反压、Checkpoint 和内存的优化。

对于想深入了解 Flink 源码结构和实现原理的读者,可以按照本节的内容进行 Flink 源码编译环境的搭建,完成 Flink 源码的编译,具体操作步骤如下所示。

Flink 源码可以从官方 Git Repository 上通过 git clone 命令下载:

复制代码
git clone https://github.com/apache/flink

读者也可以通过官方镜像库手动下载,下载地址为 https://archive.apache.org/dist/flink/ 。用户根据需要选择需要编译的版本号,下载代码放置在本地路径中,然后通过如下 Maven 命令进行编译,需要注意的是,Flink 源码编译依赖于 JDK 和 Maven 的环境,且 JDK 必须在 1.8 版本以上,Maven 必须在 3.0 版本以上,否则会导致编译出错。

复制代码
mvn clean install -DskipTests

(1)Hadoop 版本指定

Flink 镜像库中已经编译好的安装包通常对应的是 Hadoop 的主流版本,如果用户需要指定 Hadoop 版本编译安装包,可以在编译过程中使用 -Dhadoop.version 参数指定 Hadoop 版本,目前 Flink 支持的 Hadoop 版本需要在 2.4 以上。

复制代码
mvn clean install -DskipTests -Dhadoop.version=2.6.1

如果用户使用的是供应商提供的 Hadoop 平台,如 Cloudera 的 CDH 等,则需要根据供应商的系统版本来编译 Flink,可以指定 -Pvendor-repos 参数来激活类似于 Cloudera 的 Maven Repositories,然后在编译过程中下载依赖对应版本的库。

复制代码
mvn clean install -DskipTests -Pvendor-repos -Dhadoop.version=2.6.1-cdh5.0.0

(2)Scala 版本指定

Flink 中提供了基于 Scala 语言的开发接口,包括 DataStream API、DataSet API、SQL 等,需要在代码编译过程中指定 Scala 的版本,因为 Scala 版本兼容性相对较弱,因此不同的版本之间的差异相对较大。目前 Flink 最近的版本基本已经支持 Scala-2.11,不再支持 Scala-2.10 的版本,在 Flink 1.7 开始支持 Scala-2.12 版本,社区则建议用户使用 Scala-2.11 或者 Scala-2.12 的 Scala 环境。

Flink原理、实战与性能优化(18):环境准备 2.5

购书地址 https://item.jd.com/12518733.html?dist=jd

评论

发布