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)