整合Apache Hudi+Mysql+FlinkCDC2.1+CDH6.3.0
Posted 江南独孤客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整合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-Pro ~ git clone https://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包放入到以下路径
路径如下:
[flink-bigdata-test005 jars]$ pwd
/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/jars
进入到hive的lib路径,每一台hive节点都要放
[flink-bigdata-test005 lib]$ pwd
/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hive/lib
建立软链接
[flink-bigdata-test005 lib]$ ln -ls ../../../jars/hudi-hadoop-mr-bundle-0.10.0-SNAPSHOT.jar hudi-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
hudi flink 集成error ,未解决