往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接)

这篇具有很好参考价值的文章主要介绍了往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

cloudbeaver默认没有开放impala连接,更不会支持国产数据库了

docker安装运行cloudbeaver可以参考文章:docker安装运行CloudBeaver并设置默认语言为中文

本文跳过cloudbeaver镜像拉取,直接就开始实现自定义数据库连接功能

1、初始化cloudbeaver容器挂载配置

1.1、新建挂载的宿主机根目录

  • 挂载的文件都放置该目录下
mkdir /usr/local/cloudbeaver

cd /usr/local/cloudbeaver

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

1.2、运行cloudbeaver容器,提取挂载文件

  • docker挂载时,不会自动把容器内的文件复制到宿主机
  • 运行cloudbeaver的目的是为了提取所需的挂载文件,为后续完整的cloudbeaver容器运行做铺垫
1、运行cloudbeaver
docker run  --name dbeaver-backup \
--privileged \
-p 8978:8978 \
-d dbeaver/cloudbeaver:latest
  • 我启动的容器ID为:bc78dedbc293(可以简写为bc)

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

2、cloudbeaver容器中工作目录概览

进入容器内部:

docker exec -it bc /bin/bash

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

  • conf:存放cloudbeaver配置文件
  • drivers:存放cloudbeaver连接各个数据库驱动的目录
  • server:cloudbeaver后端服务目录(java服务)
  • web:cloudbeaver的前端页面文件存放目录
  • workspace:cloudbeaver运行时数据存放目录,cloudbeaver默认数据库(h2)文件存储地
3、扩展cloudbeaver自定义连接的2个重要文件

在上述的cloudbeaver容器内部,执行:

cd /opt/cloudbeaver/server/plugins

找到2个文件:

①  io.cloudbeaver.resources.drivers.base_版本号.jar【cloudbeaver界面显示的数据库配置文件】

②  org.jkiss.dbeaver.ext.generic_版本号.jar【cloudbeaver数据库连接信息配置文件】

ls | grep io.cloudbeaver.resources.drivers.base
ls | grep org.jkiss.dbeaver.ext.generic

如下: 

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

我的2个文件为:

  • io.cloudbeaver.resources.drivers.base_1.0.89.202401081229.jar
  • org.jkiss.dbeaver.ext.generic_2.3.208.202401081229.jar

注意:同一个cloudbeaver镜像下,docker run时,这两个jar文件的版本号是一模一样的!

4、复制cloudbeaver容器中文件至宿主机

退出cloudbeaver容器:

exit

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

上面我们设定了宿主机挂载的根目录为:/usr/local/cloudbeaver

我们把所需文件一个个复制到上述目录中:

  • 复制cloudbeaver主配置文件
#bc是我的cloudbeaver容器ID
docker cp bc:/opt/cloudbeaver/conf/cloudbeaver.conf /usr/local/cloudbeaver/
  • 复制cloudbeaver驱动目录 
docker cp bc:/opt/cloudbeaver/drivers /usr/local/cloudbeaver/drivers
  • 复制扩展自定义数据库连接的2个jar文件
docker cp bc:/opt/cloudbeaver/server/plugins/org.jkiss.dbeaver.ext.generic_2.3.208.202401081229.jar /usr/local/cloudbeaver/
docker cp bc:/opt/cloudbeaver/server/plugins/io.cloudbeaver.resources.drivers.base_1.0.89.202401081229.jar /usr/local/cloudbeaver/

最终,/usr/local/cloudbeaver目录下的结构为:

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

5、删除cloudbeaver容器
  •  所需的挂载文件都拷贝至宿主机中了,之前运行的cloudbeaver可以删除,之后会运行新的cloudbeaver容器
docker stop bc

docker rm bc

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

2、添加自定义数据库连接配置

2.1、解压jar文件

  • 确保你的机器安装并配置好了jdk!

在上述目录(/usr/local/cloudbeaver)中,执行以下命令:

#后缀版本号请根据实际情况变更
unzip io.cloudbeaver.resources.drivers.base_1.0.89.202401081229.jar -d io.cloudbeaver.resources.drivers.base_1.0.89.202401081229

unzip org.jkiss.dbeaver.ext.generic_2.3.208.202401081229.jar -d org.jkiss.dbeaver.ext.generic_2.3.208.202401081229

如果不能识别unzip,可以:yum install -y unzip 

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

解压后目录结构如下:

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

2.2、添加页面自定义数据库连接的选项配置

  • 进入io.cloudbeaver.resources.drivers.base_1.0.89.202401081229文件夹中,编辑plugin.xml文件
  • 目的:使自定义数据库连接项,能在cloudbeaver前端界面上展示并使用
cd io.cloudbeaver.resources.drivers.base_1.0.89.202401081229

vi plugin.xml

在图示的3处位置添加对应内容:

  • 添加达梦数据库与impala数据库连接信息
<resource name="drivers/dm"/>
<resource name="drivers/impala"/>

<bundle id="drivers.dm" label="DM drivers"/>
<bundle id="drivers.impala" label="Impala drivers"/>

<driver id="generic:dm"/>
<driver id="generic:impala"/>

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

2.3、重新生成io.cloudbeaver.resources.drivers.base_1.0.89.202401081229.jar文件

#压缩当前目录下的所有文件为io.cloudbeaver.resources.drivers.base_1.0.89.202401081229.jar
jar -cvfm io.cloudbeaver.resources.drivers.base_1.0.89.202401081229.jar META-INF/MANIFEST.MF ./

#移动新生成的jar文件至上层目录,并覆盖原jar文件
mv io.cloudbeaver.resources.drivers.base_1.0.89.202401081229.jar ../

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

  • 注意:在可视化界面使用压缩工具也能压缩成jar文件,但是一定要注意:只能在 io.cloudbeaver.resources.drivers.base_1.0.89.202401081229目录中进行压缩,不能在外层选择io.cloudbeaver.resources.drivers.base_1.0.89.202401081229文件夹进行压缩,这样压缩出来的jar文件结构是错误的!!! 

2.4、添加自定义数据库连接配置

  • 进入org.jkiss.dbeaver.ext.generic_2.3.208.202401081229文件夹中,编辑plugin.xml文件
cd org.jkiss.dbeaver.ext.generic_2.3.208.202401081229

vi plugin.xml

在任意<driver></driver>标签位置的前或后添加以下信息:

<!-- 达梦数据库连接信息配置 -->
<driver
		id="dm"
		label="DM"
		icon="icons/dm.png"
		iconBig="icons/dm.png"
		class="dm.jdbc.driver.DmDriver"
		sampleURL="jdbc:dm://{host}[:{port}]/[{daStabase}]"
		defaultPort="5236"
		webURL="https://www.dameng.com/"
		description="达梦数据库连接选项!">

	<file type="jar" path="drivers/dm" bundle="drivers.dm"/>

</driver>

<!-- impala数据库连接信息配置 -->
<driver
		id="impala"
		label="Impala"
		icon="icons/impala_icon.png"
		iconBig="icons/impala_icon.png"
		class="com.cloudera.impala.jdbc41.Driver"
		sampleURL="jdbc:impala://{host}:{port}/{database}"
		defaultPort="25004"
		webURL="https://www.cloudera.com/downloads/connectors/impala/jdbc/2-5-41.html"
		description="impala数据库连接选项!"
		supportedConfigurationTypes="MANUAL,URL"
		category="Hadoop"
		categories="hadoop">

	<file type="jar" name="ImpalaJDBC41.jar" path="drivers/impala" bundle="drivers.impala"/>
	
	<parameter name="query-get-active-db" value="select current_database()"/>
	<parameter name="query-set-active-db" value="use ?"/>
	<parameter name="string-escape-char" value="\"/>
	<parameter name="omit-catalog" value="true"/>
	<parameter name="supports-references" value="false"/>

</driver>

dm.png在cloudbeaver中是不存在的(impala_icon.png是自带的),我们可以使用任意图片即可,我这里附上一个达梦数据库图标:往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

如图:

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

2.5、重新生成org.jkiss.dbeaver.ext.generic_2.3.208.202401081229.jar文件

jar -cvfm org.jkiss.dbeaver.ext.generic_2.3.208.202401081229.jar META-INF/MANIFEST.MF ./

#移动新生成的jar文件至上层目录,并覆盖原jar文件
mv org.jkiss.dbeaver.ext.generic_2.3.208.202401081229.jar ../

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

3、添加自定义数据库驱动

  • 添加达梦与impala数据库驱动文件至指定目录中
达梦数据库
mkdir /usr/local/cloudbeaver/dm
cd /usr/local/cloudbeaver/dm

把达梦数据库驱动上传至该目录下(驱动在附件中,也可以在官网下载):

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

impala数据库
mkdir /usr/local/cloudbeaver/impala
cd /usr/local/cloudbeaver/impala

impala的驱动很多,都需要上传至impala目录下:

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

4、运行cloudbeaver

docker run --name dbeaver \
--restart=always \
--privileged \
-p 8978:8978 \
-v /usr/local/cloudbeaver/workspace:/opt/cloudbeaver/workspace \
-v /usr/local/cloudbeaver/drivers:/opt/cloudbeaver/drivers \
-v /usr/local/cloudbeaver/cloudbeaver.conf:/opt/cloudbeaver/conf/cloudbeaver.conf \
-v /usr/local/cloudbeaver/org.jkiss.dbeaver.ext.generic_2.3.208.202401081229.jar:/opt/cloudbeaver/server/plugins/org.jkiss.dbeaver.ext.generic_2.3.208.202401081229.jar \
-v /usr/local/cloudbeaver/io.cloudbeaver.resources.drivers.base_1.0.89.202401081229.jar:/opt/cloudbeaver/server/plugins/io.cloudbeaver.resources.drivers.base_1.0.89.202401081229.jar \
-d dbeaver/cloudbeaver:latest

稍微解释下:

--restart=always:

  • 容器退出时自动重启

--privileged:

  • 特权模式启动容器

-p 8978:8978:

  • cloudbeaver默认端口为8978,与宿主机8978端口一一映射

-v /usr/local/cloudbeaver/workspace:/opt/cloudbeaver/workspace

  • 把cloudbeaver容器中的/opt/cloudbeaver/workspace目录,挂载到宿主机的/usr/local/cloudbeaver/workspace目录
  • 这个目录很重要,用来存储cloudbeaver运行产生的数据文件等

-v /usr/local/cloudbeaver/drivers:/opt/cloudbeaver/drivers

  • 驱动挂载至宿主机中,方便以后我们对驱动进行维护

-v /usr/local/cloudbeaver/cloudbeaver.conf:/opt/cloudbeaver/conf/cloudbeaver.conf

  • 挂载cloudbeaver主配置文件,便于配置cloudbeaver

后面的2个jar挂载,是为了方便扩展自定义数据库连接

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

5、访问cloudbeaver

我的访问地址为:http://192.168.168.171:8978

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

初始化配置在这就不说了

新建下数据库连接,测试达梦或impala数据库是否支持:

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接),docker,linux,docker,容器,运维

自定义数据库连接添加成功!

如果连接达梦或impala失败,请检查:文章来源地址https://www.toymoban.com/news/detail-804414.html

  1. 自己上传的驱动版本是否支持??
  2. 网络是否开放?

到了这里,关于往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker跨容器访问数据库

    有两个docker镜像:mysql镜像和ubuntu镜像。项目的数据库和代码分别打包在mysql镜像和ubuntu镜像中。项目代码需要跨容器访问数据库。 使用docker --link参数实现容器互联 1.装载mysql镜像 查看已装载镜像列表:  2.以mysql8镜像创建容器 参数释义: --name mysql 命名创建的容器为mysql -

    2024年02月06日
    浏览(29)
  • 基于docker容器部署MySQL数据库

    一,概要.... 2 二,环境准备.... 3 2.1,docker部署.... 3 三,使用docker部署mysql 6 3.1、创建数据存放目录.... 6 3.2、创建bridge网络并指定IP区间.... 6 3.3、Docker安装MySQL. 6 3.4、自定义配置.... 7 四,MySQL简单的配置.... 9 4.1、在容器 mysql 中开启一个交互模式的终端.... 9 4.2、mysql登录....

    2024年02月04日
    浏览(57)
  • Mysql Docker 容器重启后数据库数据丢失分析

    项目复用nacos的mysql数据库且msyql容器已存在,之前已新建好数据库并插入数据。本次需要更新数据库表结构和数据。重启myql导致数据库数据丢失。 另外,本次事故是昨天发生未及时记录,日志不够详细。 本次需要更新数据库表结构和数据,通过dbviewer操作失败报 异常,部分

    2024年02月01日
    浏览(38)
  • Docker 容器搭建mysql 集群(主从数据库)

    目录 1.背景         2.设备及软件版本 3.开始搭建(这里不介绍安装docker及mysql) 3.1创建主数据库容器(master) 3.2查看容器是否创建成功 3.3进入修改容器下的/etc/my.cnf文件 3.3.1先拷贝my.cnf到容器外修改完再覆盖容器原来的my.cnf文件 3.4重启mysql容器使配置文件生效 3.5查看是否

    2024年02月08日
    浏览(88)
  • <达梦>《达梦数据库备份归档》

    方式 备份 DIsql 工具 用于执行联机的数据备份与数据还原,包括数据库备份、归档备份、表空间备份与还原、表备份与还原; DMRMAN 工具 用于执行脱机的数据备份、还原与恢复,包括脱机的数据库备份、还原与恢复,脱机还原表空间,归档的备份、还原与修复; 客户端工具

    2024年02月05日
    浏览(56)
  • 达梦数据库创建及数据库实例管理

    数据库配置助手创建数据库调用 dbca.sh 图形化界面创建数据库: [dmdba@DCA02 tool]$ ./dbca.sh 2021-01-11 11:43:45 [com.dameng.dbca.Startup] [INFO] 启动 DBCA 指定数据库名称、实例名称(单机情况下数据库和实例名称可以相同),指定端口号: 簇大小、页大小、字符集、 字符串 大小写敏感、

    2023年04月08日
    浏览(40)
  • 达梦数据库 优化

    优化不能仅从数据库方面考虑,比如,在存储达到数据库极限、应用涉及人员设计的代码稀巴烂的情况下,进行调优就是杯水车薪的效果。 涉及到优化人员: 数据库管理员 应用程序架构师 应用程序设计人员 系统管理员 存储管理员 涉及到的优化内容: 应用程序:(与开发人员

    2024年04月09日
    浏览(35)
  • Linux系统时间 vs Docker容器时间 vs 数据库时间

    前两天写了个小demo,部署到腾讯云上,今天测了一下插入数据的接口,发现插入后的数据时间不对。由于我的mysql是装在docker里的,因此有必要将linux系统时间,docker容器时间,以及mysql时间这三者统一起来。 首先确认linux系统时间是否与当前时间一致,登录服务器后直接用

    2024年02月09日
    浏览(53)
  • 瀚高数据库 docker 容器单机运行(安全版v4.5.9)

    瀚高数据库 docker 容器单机运行 鉴于有些高端客户需要容器运行瀚高数据库,本文主要针对这些用户说明一下瀚高数据库镜像的操作。 文档所使用的docker版本是 18.03.0 。 已拿到docker镜像包 459.tar ,如有需要可以拨打热线电话 400-708-8006 。 注意: 容器内已经初始化好数据库实

    2024年01月16日
    浏览(45)
  • 达梦数据库导入导出

    说明(默认值) USERID 用户名/口令 FILE 导出文件 (dexp.dmp) DIRECTORY 导出文件所在目录 FULL 整库导出 (N) OWNER 以用户方式导出 格

    2024年02月14日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包