Nifi适配GaussDB验证任务心得
【摘要】 NSQ适配GaussDB 。Apache NiFi是一款开源的数据集成工具,由Apache软件基金会开发和维护。它以直观的用户界面、强大的数据处理能力和安全特性在大数据领域占据重要位置。
背景介绍
开源for Huawei(参考:https://developer.huaweicloud.com/programs/opensource/contributing/) 通过和公司、高校、社区的开发者合作,完成鲲鹏、昇腾、欧拉、鸿蒙、高斯、云服务等与开源软件的适配开发,帮助繁荣Huawei的基础生态,同时让开源软件能够更加简单、高效的运行于华为云上。
1 适配过程
- 购买 华为云鲲鹏EulerOS环境的ECS 搭建NIfi运行环境并启用;
- 根据任务计划书DEMO设计,准备源端数据库环境以及源数据;
- 根据任务计划书DEMO设计,准备目标端数据库环境以及元数据(表结构);
- 根据任务计划书DEMO设计,使用Nifi搭建任务流,实现历史数据和增量数据的准实时同步。
2 适配准备
- 华为云鲲鹏EulerOS环境的ECS(华为云购买);
- Mysql数据库(华为云购买ECS后自建);
- GaussDB数据库(华为云购买)。
2.1 ECS/GaussDB配置
GaussDB:
- 计费模式选择:按需计费
- 区域:华北-北京四
- CPU架构:鲲鹏计算
- CPU规格:large.2
- CPU规格:2vCPUs&&4GiB
- 镜像类型:公共镜像
- 镜像:openEuler 20.03 64bit with ARM(100GiB)
鲲鹏ECS:
- 计费模式选择:按需计费
- 区域:华北-北京四
- CPU架构:x86计算
- CPU规格:xlarge.4
- CPU规格:4vCPUs&&16GiB
- 镜像类型:公共镜像
- 镜像:Huawei Cloud EulerOS 2.0 标准版 64位 ARM版
MySQL版本号:5.7.45
2.2 其它
ECS安全组配置 配置规则 → 出/入方向规则 → 一键放通常用端口
也可直接放通所有端口。
3 Demo开发
- 准备源端Mysql数据库环境以及源数据--源端有数据。
- 准备目标端GaussDB数据库环境以及元数据(表结构)--目标端没有数据。
- Nifi启动工作流 第一次抽取全量历史数据,可根据数据规模大小 合理设置调度时长。
- 全量历史数据抽取并入库完成后 调整 调度策略,定时抽取增量数据。
- 数据验证
4 适配过程中的问题记录
- Mysql数据库需要开启 binlog 日志
参考:https://www.php.cn/faq/829276.html
- Nifi 组件 GenerateTableFetch 实现增量数据捕获方法
在工作流当中创建GenerateTableFetch组件时候 定义maximum-value columns 的值,该值必须是在源表中存在的列 例如 :自增ID 。
- 数据类型转换
Mysql的时间数据类型 timestamp 通过nifi 转换成avro格式后 变成了 Unix时间戳,可根据需要 在入库前 先转换回来再入库。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)