querybook适配gaussdb心得
背景介绍
开源for Huawei(参考:https://developer.huaweicloud.com/programs/opensource/contributing/) 通过和公司、高校、社区的开发者合作,完成鲲鹏、昇腾、欧拉、鸿蒙、高斯、云服务等与开源软件的适配开发,帮助繁荣Huawei的基础生态,同时让开源软件能够更加简单、高效的运行于华为云上。
开始之前,开发者可以下载 开源for Huawei Wiki(参考:https://gitcode.com/HuaweiCloudDeveloper/OpenSourceForHuaweiWiki/overview) 了解详细的开发步骤,技术准备,以及开发过程需要的各种资源。
1 适配思路
- querybook作为一款专注于大数据查询的应用程序,本身支持很多查询引擎如:mysql、hive、sparkSQL或任何与Sqlalchemy兼容的引擎;
 
2. querybook是docker+python+node部署 在部署过程中 dockerfile中会去安装依稀python链接数据库所需要的库如:pymysql、psycopg2 等库 。
3. 尝试用psycopg2 +gaussdb+sqlalchemy链接信息 做gaussdb适配工作 具体参开sqlalchem官方文档 https://docs.sqlalchemy.org/en/20/core/engines.html#database=urls
2 适配准备
准备一台弹性云服务器ECS,用于鲲鹏EulerOS环境适配GaussDB测试 以及用于测试使用的Gaussdb实例。
2.1 ECS配置
鲲鹏:
| 
 产品名称  | 
 CPU架构  | 
 实例类型  | 
 公共镜像  | 
 镜像版本  | 
| 
 弹性云服务器  | 
 鲲鹏计算  | 
 鲲鹏通用计算增强型  | 
 Huawei Cloud EulerOS  | 
 Huawei Cloud EulerOS 2.0标准版 64位 ARM版(10GiB)  | 
GaussDB:
| 
 产品名称  | 
 产品类型  | 
 数据库引擎版本  | 
 内核引擎版本  | 
 实例类型  | 
 部署形态  | 
| 
 云数据库GaussDB  | 
 基础版  | 
 V2.0-8.*  | 
 505.1.*  | 
 集中式  | 
 1主2备  | 
3 Demo开发
- 
环境已经安装node(版本再16-19之间)
 - 安装python3.9
 - 环境安装elasticsearch和redis
 - 修改4处配置文件 分别为 /opt/querybook/containers/bundled_querybook_config.yaml;/opt/querybook/k8s/scheduler-deployment.yaml;/opt/querybook/k8s/web-deployment.yaml;/opt/querybook/k8s/worker-deployment.yaml 将数据库信息改为gaussdb的链接信息
 
4 适配过程中的问题
- dockerfile执行过程中会使用npm以及docker拉取一些库文件导致失败
 
解决方法:检查网络原因以及npm源和docker源的配置 是导致响应超时的原因
- sqlalchemy链接信息配置问题
 
与传统jdbc驱动链接不一致 参考官方文档进行配置 https://docs.sqlalchemy.org/en/20/core/engines.html#database=urls
- 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)