炒沙作縻终不饱,缕冰文章费工巧。这篇文章主要讲述整合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
推荐阅读
- Android JNI&NDK编程小结及建议
- Picasso,Glide,Fresco那个好()
- 利用反编译学习Android
- Android自定义控件之基本原理
- 一文带你熟知ForkJoin
- #私藏项目实操分享#Java多线程下载器基础代码
- 持续交付之基于Git Flow代码分支策略实践
- 从HarmonyOS sdk根本上解决TextInput(输入框)不识别飘红的问题
- #yyds干货盘点#通过正则表达式限制输入框只能数字,且不能以0开头