Flyte适配GaussDB验证任务心得

举报
xiaojiawei 发表于 2024/12/03 09:45:05 2024/12/03
【摘要】 Flyte 是一个开源数据编排器,有助于构建生产级数据和ML管道。它是为可扩展性和可重复性而构建的,利用Kubernetes作为其底层平台。通过Flyte,用户团队可以使用Python SDK构建管道,并将其无缝部署在云和本地环境中,从而实现分布式处理和高效的资源利用。

背景介绍

开源for Huawei(参考:https://developer.huaweicloud.com/programs/opensource/contributing/)  通过和公司、高校、社区的开发者合作,完成鲲鹏、昇腾、欧拉、鸿蒙、高斯、云服务等与开源软件的适配开发,帮助繁荣Huawei的基础生态,同时让开源软件能够更加简单、高效的运行于华为云上。

1 软件介绍

Flyte 是一个开源数据编排器,有助于构建生产级数据和ML管道。它是为可扩展性和可重复性而构建的,利用Kubernetes作为其底层平台。通过Flyte,用户团队可以使用Python SDK构建管道,并将其无缝部署在云和本地环境中,从而实现分布式处理和高效的资源利用。

核心功能

  • 工作流编排:定义任务依赖,构建复杂和动态工作流,确保任务按顺序执行。
  • 任务执行与调度:支持分布式执行,有多种调度策略,可异步执行并监控。
  • 数据管理与交互:管理输入输出数据,有缓存机制,能追溯数据沿袭。
  • 可扩展性与集成性:有插件扩展体系,能与外部系统集成。
  • 开发友好性:支持多语言,提供 SDK API 方便开发。

架构图

图片3.png

适配思路

  1. 使用Window环境的ECS连接ECS上的openGauss,测试是否连通;
  2. 使用Window环境的ECS连接云数据库GaussDB,测试是否连通;
  3. 使用 鲲鹏EulerOS环境的ECS连接云数据库GaussDB,测试是否连通。

3 适配准备

准备三个弹性云服务器ECS,一个用于代码编写以及适配测试,另外一个用于部署openGauss用于本地测试,最后一个用于鲲鹏EulerOS环境适配GaussDB测试。

3.1 ECS配置

openGauss:

  • 计费模式选择:按需计费
  • 区域:华北-北京四
  • CPU架构:鲲鹏计算
  • CPU规格:large.2
  • CPU规格:2vCPUs&&4GiB
  • 镜像类型:公共镜像
  • 镜像:openEuler 20.03 64bit with ARM40GiB

适配测试:

  • 计费模式选择:按需计费
  • 区域:中国-香港
  • CPU架构:x86计算
  • CPU规格:xlarge.4
  • CPU规格:4vCPUs&&16GiB
  • 镜像类型:公共镜像
  • 镜像:Windows Server 2016 标准版 64位简体中文_40GB_香港

鲲鹏:

  • 计费模式选择:按需计费
  • 区域:华北-北京四
  • CPU架构:鲲鹏计算
  • CPU规格:xlarge.4
  • CPU规格:4vCPUs&&16GiB
  • 镜像类型:公共镜像
  • 镜像:Huawei Cloud EulerOS 2.0 标准版 64 ARM

3.2 openGauss安装、Windows系统的开发环境配置及软件安装

openGauss安装:参考https://blog.csdn.net/m0_56123985/article/details/123555605

软件安装以及环境配置:使用电脑管家或者网上查询安装

3.3 ECS安全组配置

配置规则 → 入方向规则 → 一键放通常用端口

添加常用端口以及openGauss设置的端口,目的:在适配测试的ECS可以pingopenGaussIP以及可以使用数据库管理工具连接到openGauss

3.4 下载GaussDB官网发布的商业驱动

安装路径:https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-1836.html

部署参考:https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0176.html

4 Demo开发

  1. 安装依赖(需要安装python环境,最好是8或者3.9版本)pip install flytekit psycopg2
  2. 根据官网参考文档,完成demo代码的编写(包括建表、表数据的增删改查)
  3. 更换成华为的Gauss数据库配置
  4. 更换成华为发表的商业驱动psycopg2

参考:

软件官网:https://flyte.org/

源码地址:https://github.com/flyteorg/flyte

demo地址:https://gitcode.com/xiaojiawei/opensource-demo-flyte-241202/overview

5 适配过程中的问题

  • 安装好openGauss后发现无法ping通另外一个ECSIP

         解决方法:修改ECS安全组配置

  • 使用数据库管理工具无法连接到openGauss

         解决方法:在服务器上修改openGauss的配置文件

         参考:https://blog.csdn.net/weixin_39976528/article/details/132765806

  • Window环境安装psycopg2依赖时报错

         解决方法:安装psycopg2-binary依赖代替

  • 使用华为的驱动后运行报错,发现是环境与驱动的版本不一致

         解决方法:uname -a查看运行环境,选择对应的驱动重新部署

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。