Nacos docker 版本配置kingbase 人大金仓数据库 达梦

nacos插件jar放到网盘了,博客需要会员才能下载。如果这篇博文被设置vip了,也不是我设置的,系统自动的,改不了。网盘里有配置文档,可直接看。
链接: https://pan.baidu.com/s/1XAZFqDkGpeWllJIeOb1VxA?pwd=pajb 提取码: pajb

公司项目需要适配kingbase人大金仓数据库,除了项目适配,微服务使用到的nacos也需要适配。查找了两天资料终于解决。

参考资料:(可行)https://blog.csdn.net/byzxedu/article/details/128626240

这个作者的简单,直接引入kingbase8的jar包。但是nacos2.4.2 和2.5.1不行,一直报错。
使用nacos2.3.0 这个作者的方案和我的方案都没问题。kingbase8 驱动包放网盘了
)

我这里使用了nacos官方插件。
github地址:https://github.com/nacos-group/nacos-plugin/tree/develop/nacos-datasource-plugin-ext
使用了里面的kingbase源码。也有达梦的插件。下面主要讲kingbase配置。(达梦配置原理是一样的,未实现)

步骤一 打包nacos kingbase插件

可略过步骤一直接下载网站中的jar包
在这里插入图片描述

按方法二将nacos-kingbase 插件打包。

在这里插入图片描述

拉取源码,打开idea对nacos-plugin整体打包,也可以单独对nacos-kingbase-datasource-plugin-ext打包

我这里单独打包报错,所以整体打包了。pom文件中kingbase8配置是8.6.0 ,我的数据库需要9.0.0
驱动。这里提供两个打包号的jar包,在网盘自行下载。

在这里插入图片描述

在这里插入图片描述

打包完成

nacos-kingbase-datasource-plugin-ext/target/nacos-kingbase-datasource-plugin-ext-1.0.0-SNAPSHOT.jar

步骤二 准备nacos 配置文件

插件源码:https://github.com/nacos-group/nacos-plugin/tree/develop/nacos-datasource-plugin-ext/nacos-kingbase-datasource-plugin-ext

在这里插入图片描述

上传文件配置文件和jar包

可直接下载网盘文件上传,目录地址/data/nacos/可修改为自定义。

  1. linux服务器创建/data/nacos/plugins/datasource/
    将步骤1 打包好的jar或网盘jar上传到此目录。

  2. 将网盘中application.properties 上传到/data/nacos/properties、application.properties 。

  3. 也可以启动docker后从容器内复制文件。可跳过此步骤
    启动常规 nacos docker 的命令:

docker run -d \
    --name nacosry \
    -e MODE=standalone \
      -e NACOS_AUTH_ENABLE=true \
    -e NACOS_AUTH_TOKEN=VGhpcyIsYU5BTkNPU1NFUlZJQ0VOVEVSTkFMRUJhc2U2NC5 \
    -e NACOS_AUTH_IDENTITY_KEY=NacosKey2025 \
    -e NACOS_AUTH_IDENTITY_VALUE=SecureValue@18848 \
    -p 8848:8848 \
    -p 9848:9848 \
    -p 9849:9849 \
    -v /data/nacos/data:/home/nacos/data   \
    -v /data/nacos/logs:/home/nacos/logs   \
    -d nacos/nacos-server:v2.3.0

这里使用的是nacos2.3.0 ,试过2.4.2 和2.5.1 能启动,但是添加配置报sql语法错误,最后没解决。直接使用nacos2.3.0 。

创建/data/nacos/properties/目录,复制容器内配置文件到此目录

docker cp nacosry:/home/nacos/conf/application.properties
/data/nacos/properties/application.properties

其中application.properties参考上图官方配置,配置如下:

spring.sql.init.platform=mysql
db.pool.config.driverClassName=com.kingbase8.Driver
db.num=1
db.url.0=jdbc:kingbase8://[ip]:54322/ry-cloud?currentSchema=ruoyi-config,sys_catalog&?allowEncodingChanges=true&cli
entEncoding=UTF8
db.user.0=system
db.password.0=

spring.sql.init.platform=mysql 这个配置写的是mysql,实际上在此处与mysql无关,仅仅表示为使用外部数据库来存储nacos数据。如果按照官方kingbase来写,也会出现添加配置报错的问题。

这里的kingbase 数据库已经提前安装好,配置nacos数据库配置使用kingbase工具直接迁移了。也可以使用插件中schema/nacos-kingbase.sql文件初始化数据库
在这里插入图片描述

步骤三 启动nacos docker

docker kingbase 运行命令:

docker run -d \
    --name nacosry \
    -e MODE=standalone \
    -e NACOS_AUTH_ENABLE=true \
    -e SPRING_DATASOURCE_PLATFORM=kingbase8 \
    -e NACOS_AUTH_TOKEN=VGhpcyIsYU5BTkNPU1NFUlZJQ0VOVEVSTkFMRUJhc2U2NC5 \
    -e NACOS_AUTH_IDENTITY_KEY=NacosKey2025 \
    -e NACOS_AUTH_IDENTITY_VALUE=SecureValue@18848 \
    -p 8848:8848 \
    -p 9848:9848 \
    -p 9849:9849 \
    -v /data/nacos/data:/home/nacos/data \
    -v /data/nacos/logs:/home/nacos/logs \
    -v /data/nacos/plugins:/home/nacos/plugins \
    -v /data/nacos/properties/application.properties:/home/nacos/conf/application.properties \
    nacos/nacos-server:v2.3.0

docker logs nacos #查看运行日志,启动成功。配置完成
在这里插入图片描述
访问nacos
http://[ip]:8848/nacos/
在这里插入图片描述

docker 的一些基础命令,下面的nacos是容器名
docker exec -it nacos /bin/bash #进入容器
exit #退出容器
docker logs nacos #查看日志
docker start nacos #启动nacos
docker topnacos #停止nacos
docker restart nacos #重启nacos
docker rm nacos #删除容器

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐