Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1

一、下载两个Tag包(已经修改好配置文件)
maven指向私服具体修改内容可以参考 Flink1.9系列-CDH版本源码编译篇
 
flink-shaded-7.0-src.tar.gz
flink-1.9.1-src.tar.gz
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
二、编译flink-shaded
flink-shaded-7.0-src.tar.gz
vim flink-shaded-7.0/pom.xml
<!--添加Maven私服的仓库(私服中需要添加cdh仓库)-->
<repositories>
   <repository>
       <id>privateMaven</id>
       <url>http://10.88.202.21:8882/repository/maven-public/</url>
   </repository>
</repositories>
 
在 flink-shaded-7.0/flink-shaded-hadoop-2-uber/pom.xml 中的 dependencyManagement 标签中添加如下依赖
<dependency>
    <groupId>commons-cli</groupId>
    <artifactId>commons-cli</artifactId>
    <version>1.3.1</version>
</dependency>
 
注意:这一步一定要添加,不然编译成功后,启动不了,并 .out 文件中抛出如下错误:Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.cli.Option.builder(Ljava/lang/String;)Lorg/apache/commons/cli/Option$Builder;
原因是项目打包后,依赖的 commons-cli 是1.2版本的,build 方法在该版本中不存在
进入目录mvn打包
 
mvn -T10C clean install -Dhadoop.version=3.0.0-cdh6.3.2
 
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1

 
三、结束后编译flink1.9.1
flink-1.9.1-src.tar.gz
vim flink-1.9.1/pom.xml
<!--添加Maven私服的仓库(私服中需要添加cdh仓库)-->
<repositories>
   <repository>
       <id>privateMaven</id>
       <url>http://10.88.202.21:8882/repository/maven-public/</url>
   </repository>
</repositories>
vim flink-1.9.1/flink-yarn/pom.xml
<build>-><plugins>下添加屏蔽插件
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <!-- 略过测试代码的编译 -->
            <skip>true</skip>
            <!-- The semantics of this option are reversed, see MCOMPILER-209. -->
            <useIncrementalCompilation>false</useIncrementalCompilation>
            <compilerArgs>
                     <!-- Prevents recompilation due to missing package-info.class, see MCOMPILER-205 -->
                    <arg>-Xpkginfo:always</arg>
            </compilerArgs>
    </configuration>
</plugin>
 
 
 
mvn -T10C clean package -DskipTests -Pvendor-repos -Dhadoop.version=3.0.0-cdh6.3.2 -Dscala-2.11 -Pinclude-hadoop
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
四、编译flink1.9.1完成,打包
路径是:flink-1.9.1/flink-dist/target/flink-1.9.1-bin
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
注意:我们是基于scala2.11编译的,压缩包的名称必须是:flink-1.9.1-bin-scala_2.11.tgz
tar -czf flink-1.9.1-bin-scala_2.11.tgz flink-1.9.1
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
可以看下hadoop的依赖包也编译完成
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1

1、解压 flink-parcel.tar.gz
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
 
2、将之前编译好的flink-1.9.1-bin-scala_2.11.tgz 放到跟目录中
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
 
3、修改配置文件flink-parcel.properties(此处我已经修改完毕)
 
4、修改build.sh(修改后的脚本,此处需要修改var/www/html路径,以及cdh的csd路径)
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
5、编译parcel
sh build.sh parcel
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
6、编译flink-on-yarn
sh build.sh csd_on_yarn
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
7、编译flink-standalone
sh build.sh csd_standalone
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
8、完成Flink-Parcel制作
查看路径文件
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
9、查看界面是否可以访问
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
我们再看看 manifest.json文件的内容
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1

CDH界面安装注意事项
一、在Parcel中新增存储库URL
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
二、刷新后就可以看到Flink啦,此处我已经安装完成,只要三步走就可以。
下载->分配->**
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
下载
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
分配
 
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
**
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
 
三、添加Flink服务组件
此处我使用的是Standalone模式
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
此处注意,点右侧问号,我把有坑的地方都做了描述。
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
安装完成截图
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1
 
任务跑起来的截图
Flink-1.9.1-CDH6.3.2源码编译、CDH-Flink-Parcel制作、CDH6.3.2集成Flink1.9.1