999.【翰云数据库】翰云数据库接入cloudbeaver
2024-04-10 本文已影响0人
七镜
一、启动 cloudbeaver
docker run --name cloudbeaver-ee -ti -p 8080:8978 dbeaver/cloudbeaver:latest
- 通过docker 启动 cloudbeaver,后面我们将修改里面的文件
二、从容器内部复制出来待修改的关键jar
docker cp 47:/opt/cloudbeaver/server/plugins/org.jkiss.dbeaver.ext.generic_2.3.214.202404080822.jar .
docker cp 47:/opt/cloudbeaver/server/plugins/io.cloudbeaver.resources.drivers.base_1.0.95.202404080822.jar .
- 将容器内部的
org.jkiss.dbeaver.ext.generic_*.jar
和io.cloudbeaver.resources.drivers.base_*.jar
复制出来;(注意不同版本对应的序号不同,需要进入容器内部,找到对应的两个jar)
三、分别解压待修改的jar
unzip org.jkiss.dbeaver.ext.generic_2.3.214.202404080822.jar -d org.jkiss.dbeaver.ext.generic_2.3.214.202404080822
unzip io.cloudbeaver.resources.drivers.base_1.0.95.202404080822.jar -d io.cloudbeaver.resources.drivers.base_1.0.95.202404080822
- 将这两个jar,分别解压至对应的目录下
四、修改 io.cloudbeaver.resources.drivers.base_1.0.95.202404080822/plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<!-- Resource mappings -->
<extension point="org.jkiss.dbeaver.resources">
...
<resource name="drivers/wisdomdata"/>
...
</extension>
<!-- Bundles -->
<extension point="org.jkiss.dbeaver.product.bundles">
...
<bundle id="drivers.wisdomdata" label="wisdomdata drivers"/>
...
</extension>
<!-- Enabled drivers -->
<extension point="io.cloudbeaver.driver">
...
<driver id="generic:wisdomdata"/>
...
</extension>
</plugin>
- 需要增加的内容及位置如上所示
五、修改 io.cloudbeaver.resources.drivers.base_1.0.95.202404080822/plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension-point id="org.jkiss.dbeaver.generic.meta" name="Generic meta model retrieval" schema="schema/org.jkiss.dbeaver.generic.meta.exsd"/>
<extension point="org.jkiss.dbeaver.dataSourceProvider">
<datasource
class="org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider"
description="Generic JDBC connector"
id="generic"
label="Generic"
icon="#database_icon_default"
dialect="generic">
<drivers managable="true">
<!-- Real drivers -->
...
<driver
id="wisdomdata"
label="wisdomdata driver"
class="com.wisdomdata.jdbc.CloudDriver"
sampleURL="jdbc:wisdomdata:@{host}:{port}"
defaultPort="1978"
webURL="http://wisdomdata.cn/"
description="wisdomdata Server driver">
<file type="jar" path="drivers/wisdomdata" bundle="drivers.wisdomdata"/>
</driver>
...
</drivers>
</datasource>
</extension>
</plugin>
- 需要增加的内容及位置如上所示
六、添加翰云数据库jdbc驱动
1. 进入容器
docker exec -it ${your container id} /bin/bash
2. 进入驱动目录
cd /opt/cloudbeaver/drivers
3. 创建翰云数据库驱动目录
mkdir wisdomdata
七、重新打包org.jkiss.dbeaver.ext.generic_2.3.214.202404080822.jar
和 io.cloudbeaver.resources.drivers.base_1.0.95.202404080822.jar
1. 将翰云数据库驱动复制进入刚刚创建的文件夹
2. 打包 org.jkiss.dbeaver.ext.generic_2.3.214.202404080822.jar
先将前面解压出来的 org.jkiss.dbeaver.ext.generic_2.3.214.202404080822 整个目录复制到容器内部的/opt/cloudbeaver/server/plugins
目录下(使用docker cp 命令)
然后进入目录(
cd org.jkiss.dbeaver.ext.generic_2.3.214.202404080822
);然后执行
jar -cvfm org.jkiss.dbeaver.ext.generic_2.3.214.202404080822.jar META-INF/MANIFEST.MF ./
,这将生成一个新的 org.jkiss.dbeaver.ext.generic_2.3.214.202404080822.jar
;最后将最新生成的
org.jkiss.dbeaver.ext.generic_2.3.214.202404080822.jar
替换掉/opt/cloudbeaver/server/plugins
目录下的 org.jkiss.dbeaver.ext.generic_2.3.214.202404080822.jar
;
3. 打包 io.cloudbeaver.resources.drivers.base_1.0.95.202404080822
(步骤和上面打包org.jkiss.dbeaver.ext.generic_2.3.214.202404080822.jar
一模一样)
八、重新启动 cloudbeaver
docker restart ${your container id}
九、 新建连接
-
登录cloudbeaver网页,新建连接
- 可以看到界面里多了一个前面我们添加的翰云数据库驱动连接配置
wisdomdata driver
-
输入Host、Port、User name、User password 等连接信息
-
点击 Test ,可以看到连接成功
-
左侧查看库表信息
-
执行 sql 语句,也没有问题
十、完结
翰云数据库(Cloudwave db)是新一代云原生olap数仓,性能卓越,七镜之前也写过基于ssb 1tb测试集与starrocks的性能比对测试,感兴趣的同学可以看看七镜以前写的相关评测文章。