架构演变之Flink架构的演变过程
一、 起初搭建整个大数据平台是基于CDH这一套资源管理和整合的CM资源管理器搭建的
整个平台包括了: HDFS,YARN,HIVE,zoozie,FLINK,Spark,Zookeeper等组件搭建而成,
刚开始搭建的时候,所有的资源管理都是依靠YARN进行资源的管理,调度和任务的查看,
而当时我们搭建的Flink集群是基于YARN进行资源管理和调度的,因为YARN中不仅仅包含着FLInk的资源,也有hive,zoozie,hdfs等等的资源,这样容易造成yarn资源的过度使用,容易引起整个底座的cpu以及内存的使用问题,经过排查,主要是由于FLink的使用资源引起的,所以后续就把Flink从整个集群中剥离出来,进行资源的隔离,最后Flink采用了StandAlone HA部署(但是这个目前还是存在问题,后续根据项目进行优化)
参考: FlinkHA 高可用集群部署
二、数据抽取架构的演变
直接用FLinkCDC抽取任务,会导致源端数据库的cpu和内存急速上升以至于宕机
采用ogg的方式,本质上是由源端库自动触发变化和全量数据,解决了上面的问题
在抽取的过程中遇到的问题:
1.ogg推送数据的数据格式:
如果不是这种格式,导致kafka消费数据,没有数据
2.
create table if not exists xxx(
`ID` DECIMAL(19,0),
XXXX,
primary key(ID) not enforced
) with (
'connector' = 'kafka',
'topic' = '表名',
'properties.bootstrap.servers' = '10.100.XXX.XXXX:9092,10.100.XXX.XXXX:9092,10.100.XXX.XXXX:9092',
'scan.startup.mode' = 'earliest-offset',
'properties.group.id' = 'xxx',
'format' = 'ogg-json'
);
注意这个format,一定是那种形式推送,采用那种形式的格式化json
3.注意源端数据库子段类型(根据字段数据值的大小,决定属于那种类型)
flink ogg官网:
Ogg | Apache Flink