整合Apache Hudi+Mysql+FlinkCDC2.1+CDH6.3.0

炒沙作縻终不饱,缕冰文章费工巧。这篇文章主要讲述整合Apache Hudi+Mysql+FlinkCDC2.1+CDH6.3.0相关的知识,希望能为你提供帮助。
一、环境准备
1.环境准备:
flink 1.13.1+hudi0.10+hive2.1.1+cdh6.3.0+mysql5.7+flinkcdc2.1+flink web平台
二.编译hudi(这个编译是以前的一个测试版本,编译大同小异)
1.使用git命令下载hudi0.10的代码

steven@wangyuxiangdeMacBook-Pro  ~  git clonehttps://github.com/apache/hudi.git
Cloning into hudi...
remote: Enumerating objects: 122696, done.
remote: Counting objects: 100% (5537/5537), done.
remote: Compressing objects: 100% (674/674), done.
remote: Total 122696 (delta 4071), reused 4988 (delta 3811), pack-reused 117159
Receiving objects: 100% (122696/122696), 75.85 MiB | 5.32 MiB/s, done.
Resolving deltas: 100% (61608/61608), done.


2.使用idea打开hudi更改packging--hudi-flink-bundle下的pom.xml,更改flink-bundel-shade-hive2下的hive-version更改为chd6.3.0的版本。

3.使用命令进行编译
mvn clean install -DskipTests -DskipITs -Dcheckstyle.skip=true -Drat.skip=true -Dhadoop.version=3.0.0-Pflink-bundle-shade-hive2
1.因为chd6.3.0使用的是hadoop3.0.0,所以要指定hadoop的版本
2.使用的是hive2.1.1的版本,也要指定hive的版本,不然使用sync to hive的时候,会报类的冲突问题。



出现以上的证明编译成功。
5.在packaging下面各个组件中有编译好的jar包。



6.部署同步sync to hive的环境
将hudi-hadoop-mr-bundle-0.10.0-SNAPSHOT.jar包放入到以下路径
【整合Apache Hudi+Mysql+FlinkCDC2.1+CDH6.3.0】路径如下:
[flink@dbos-bigdata-test005 jars]$ pwd
/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/jars



进入到hive的lib路径,每一台hive节点都要放
[flink@dbos-bigdata-test005 lib]$ pwd
/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hive/lib
建立软链接
[flink@dbos-bigdata-test005 lib]$ ln -ls ../../../jars/hudi-hadoop-mr-bundle-0.10.0-SNAPSHOT.jarhudi-hadoop-mr-bundle-0.10.0-SNAPSHOT.jar


7.进入平台操作安装 YARN MapReduce 框架 JAR

8.hive的辅助jar
?
因为后面考虑到hudi的数据要存到oss上,所以要放这几个包进来(关于oss的配置详细可参考oss配置文档)
?
9.重启hive,使配置生效
?
二、flink环境:
1.配置flink on yarn模式
配置如下:flink-conf.yaml的配置文件如下
################################################################################
#Licensed to the Apache Software Foundation (ASF) under one

    推荐阅读