KWDB 在虚拟机下的 unbuntu24.04x86-64 版本下编译安装实践

作者:jiao_zg
前言:
随着物联网,智能制造,人工智能,机器人等技术的发展,单纯的关系型数据库已经不能满足所有的存储场景了。时序数据库,大模型数据在一些场合下也需要和关系型数据库共同搭配,才能完成一些融合业务。这些信息化,物联网,大模型等应用对数据的需要使用诸如关系型数据库,时序数据库等不同的类型的数据库产品,这无论是部署还是维护都会带来一些开销。本文介绍一款方便用在物联网,机器人方向的一款数据库产品:kwdb.它融合了关系型数据库,时序数据库等多种类型的数据库,很适合用在 iot 应用中。本文在 unbuntu24.04.2 x64 操作系统中,通过编译安装 KWDB 数据库,并编写简单 demo,为 IOT 的场景搭建基础的专用数据库。
一、环境准备
硬件:台式机 pc windwos 虚拟机
系统:unbuntu24.04.2 x64
kwdb:V2.2.0
二、部署规划
2.1.部署模式:
裸机,单机部署,非安全模式启动测试
为了便于测试,本文主要讲解单机部署方式。
2.2.部署方式:
源码编译
本文使用 Ubuntu 进行演示。本文将安装过程记录下来,并把遇到的坑记录下来,分享给大家。
2.3.环境依赖及版本
KWDB 支持在 Linux 操作系统进行安装部署,下表列出了编译和运行 KWDB 所需的软件依赖。
编译依赖:

运行依赖:


温馨提示:上述的版本请保证从操作系统到组件版本的一致性,否则可能会出现各种问题,请保持版本的一致性。如果不确定当前系统组件的安装版本,可以通过组件的命令 --version 进行查看,或者自行了解组件版本查看的方法,确定好组件版本之后再进行后续步骤,如果版本过高或者过低,都需要进行额外的降低版本或者升级版本的操作,请注意不要嫌麻烦,否则可能后续会造成更多的麻烦。如果根据本文进行操作,请保证使用的操作系统和本文一致,否则可能会出现其他类型的错误。如果没有对应的操作系统版本,可以到 unbuntu 官网下载,本文使用的初始版本就是直接下载后的,(例如对应的 cmake 是 4.1 版本,先降级到 3.28 后再降级到 3.23 版本,操作比较特殊)使用虚拟机安装好之后即可验证了。
4.源码下载
在 KWDB 代码仓库下载代码,并将其存储到 GOPATH 声明的目录。
5.安装路径:
三、环境准备及依赖安装
安装 编译依赖,运行依赖,操作工具包等
3.1.安装 编译依赖
参考 2.3 的表格
为了方便执行,本文将所有的依赖项统一放到一个命令里执行,请注意可能和你的系统版本有差异,所以可能会出现部分组件已安装或者找不到的情况,没关系,如果有报错的情况可后面单独执行安装。
跟本文环境不一致的操作系统,如上述组件如有一个失败,请单独进行编译安装,如果都成功且经过验证版本都符合,则可直接进入 3.2 进行运行依赖安装操作,否则需要将本部分所有依赖安装正确才能进入到下个环节,否则会出现 make 编译时失败。
修改 cmake 为 3.28 版本
注:该版本仍然比较高,需要降级到 3.23 以下,后面会讲解

单独安装 go

执行 gopath 查看 gopath 安装路径

找到对应的路径,该值配置在环境变量的 gopath 中
设置环境变量
设置 GOPATH(仅在当前终端生效)
/home/jiao/go 为了不出现路径不一致的操作,请将该目录和代码存放的路径保持一致
使环境变量生效

创建目录

单独安装 git

3.2 安装运行依赖
参考 2.3 的表格

3.3 安装其他
安装 vim 工具

3.4 修改 cmak 版本到 3.20
安装过程比较慢,请耐心等待

3.5 安装 liblzma-dev

四、部署步骤
## 4.1. 使用 git clone 命令:下载源码

首次拉取代码

执行更新

4.2.构建安装
在项目目录下创建并切换到构建目录。

4.3 运行 CMake 配置
注意:等号前后不要有空格

4.4 禁用 Go 模块功能
添加下面一行

使修改生效
结果如下:

4.5 编译
4.5.1 编译
注意所在目录:
可能中间会因为上述组件安装失败或者版本问题导致错误,根据错误进行修正,修正后的结果最终完成日志

4.5.2 安装
安装后的结果如下:使用 debug 模式

4.5.3 验证是否成功
进入 kwbase 脚本所在目录,查看数据库版本,验证是否安装成功。
安装成功后

五、使用自带工具体验
5.1 启动数据库
5.1.1 设置共享库的搜索路径。

考虑持久运行,可以修改/etc/profile
5.1.2 进入 kwbase 脚本所在目录。
5.1.3 启动数据库。
启动提示在非安全模式下运行,先不用管,我们使用的也是单机部署,非集群部署,先忽略

5.2 使用本地数据库工具连接数据库
由于本文安装时使用的是非安全模式,所以使用非安全模式安装
注意:如果远程的话 hosthost 修改为对应 ip 地址

5.3 创建第一个融合数据库
在 5.2 进入命令行操作界面之后,执行下面操作
sql 命令详情参考附件 4 链接
5.3.1 创建关系型数据库
查看创建的数据库
5.3.2 创建时序数据库
创建数据库命令

查看创建的数据库

看结果是显示了关系和时序数据库两个数据库
六、附件:
1.源码 kwdb: KWDB 是一款面向 【AIoT 场景】的【分布式多模数据库】,支持在同一实例同时建立时序库和关系库并融合处理多模数据,具备千万级设备接入、百万级数据秒级写入、亿级数据秒级读取等时序数据高效处理能力,具有稳定安全、高可用、易运维等特点。 - Gitee.com
2.参考目录:
README.md · KWDB/kwdb - Gitee.com
3.编译 cmake 版本参考
centos7. 编译安装 cmake 3.23.0 - He_LiangLiang - 博客园
4.sql 命令参考:
文档中心-KaiwuDB
版权声明: 本文为 InfoQ 作者【KaiwuDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/8449576846f1dc7083b7dedef】。文章转载请联系作者。
评论