引言
KWDB 是一款面向 AIoT 场景的分布式多模数据库,由开放原子开源基金会孵化及运营。它能在同一实例同时建立时序库和关系库,融合处理多模数据,具备强大的数据处理能力,可实现千万级设备接入、百万级数据秒级写入、亿级数据秒级读取。
此外,它还具有稳定安全、高可用、易运维的特点,为开发者提供通用连接接口,方便与第三方工具集成,降低开发学习难度;为运维管理人员提供安装部署、升级等便捷操作,降低运维成本。其典型应用场景广泛,涉及物联网、能源电力、交通车联网等多个行业,致力于为企业数智化建设提供数据支持 。
KWDB官网:浪潮 KaiwuDB 分布式多模数据库—多模一库,快人一步
本文将详细介绍 KWDB 在本地的部署和使用方法,帮助开发者快速上手。
目录
(二)使用 KaiwuDB JDBC 连接 KWDB(适合 Java 开发者)
一、部署前的准备
(一)硬件要求
- CPU 和内存:建议不低于 4 核 8G。实际部署时,可根据业务规模和性能要求灵活规划硬件资源。例如,对于小型项目或测试环境,4 核 8G 的配置足以满足基本需求;但对于大型生产环境,若有大量数据处理任务,可能需要更高配置的 CPU 和更大容量的内存,如 8 核 16G 甚至更高。
- 磁盘:推荐使用 SSD 或者 NVMe 设备,这类存储设备读写速度快,能显著提升数据库性能。尽量避免使用 NFS、CIFS、CEPH 等共享存储,因为共享存储在数据传输和并发访问时可能会出现性能瓶颈。磁盘必须能够实现 500 IOPS 和 30 MB/s 处理效率。
- 文件系统:建议使用 ext4 文件系统,ext4 文件系统具有较好的稳定性和性能,对 KWDB 的支持较为友好。
(二)操作系统支持
KWDB 支持在多种服务器操作系统上进行安装部署,具体如下:
操作系统 |
版本 |
架构 |
CentOS |
7.x 及以上 |
x86_64 |
Ubuntu |
18.04 及以上 |
x86_64 |
Debian |
10 及以上 |
x86_64 |
需注意,如使用上述未提及的操作系统,可能会存在兼容性问题,若遇到问题可及时与 KWDB 官方团队联系解决
(三)软件依赖
安装时,KWDB 会自动对依赖进行检查。若缺少依赖,安装将退出并提示缺失信息。若目标机器不能联网,需在能联网的机器上根据目标机器的操作系统下载好所有依赖文件,再复制到目标机器上进行安装
不同操作系统及安装包的依赖略有不同,以下是常见依赖及说明:
依赖 |
版本 |
说明 |
GEOS |
v3.3.8+ |
可选依赖,若涉及地理空间数据处理等相关功能时可能需要 |
xz-libs |
v5.2.0+ |
必要依赖 |
squashfs-tools |
any |
必要依赖 |
squashfuse |
any |
可选依赖,用于特定的文件系统相关功能 |
(四)端口要求
在安装部署前,需确保目标机器的以下端口未被占用且未被防火墙拦截
在安装部署时,也可修改 deploy.cfg 文件中的端口配置参数
端口号 |
说明 |
8080 |
数据库 Web 服务端口,用于通过 Web 界面访问和管理数据库相关操作 |
26257 |
数据库服务端口、节点监听端口和对外连接端口,数据库服务进程监听此端口进行数据交互 |
二、获取安装包
访问 KWDB 的 Gitee 仓库(https://gitee.com/kwdb/kwdb/releases/tag/V2.2.0),根据系统环境下载对应的 DEB 或 RPM 安装包。
例如,如果你的操作系统是基于 Debian 或 Ubuntu 的,应选择 DEB 安装包;若是基于 CentOS 等 Red Hat 系的操作系统,则选择 RPM 安装包。将下载好的安装包复制到待安装 KWDB 的目标机器上,然后解压缩安装包。
解压命令为:
tar -zxvf <package_name>
我这里使用的是 CentOS 7.9,所以解压命令是这样的
tar -zxvf KWDB-2.2.0-kylinV10_2403-aarch64-rpms.tar.gz
解压后生成的目录包含以下重要文件:
- add_user.sh:安装、启动 KWDB 后,用于为 KWDB 数据库创建用户。
- deploy.cfg:安装部署配置文件,可在此配置部署节点的 IP 地址、端口等关键信息。
- deploy.sh:安装部署脚本,具备安装、卸载、启动、状态获取、关停和重启等多种操作功能。
- packages 目录:存放 DEB、RPM 和镜像包。
- utils 目录:存放工具类脚本,方便执行一些辅助操作。
- monitoring 目录:存放 Prometheus 配置文件、Grafana Dashboard 模板等文件,用于数据库监控和可视化展示相关配置。
三、开始部署
(一)配置 deploy.cfg 文件
登录待部署节点,进入安装包解压后的目录,编辑 deploy.cfg 配置文件。
默认情况下,deploy.cfg 配置文件中包含集群配置参数,对于本地单点部署,需删除或注释 (cluster) 集群配置项。以下是配置文件示例及参数说明:
secure_mode=y
management_user=kaiwudb
rest_port=8080
kaiwudb_port=26257
data_root=/var/lib/kaiwudb
node_addr=192.168.64.128
ssh_user=admin
- secure_mode:是否开启安全模式,默认开启。开启安全模式后,KWDB 生成 TLS 安全证书,作为客户端或应用程序连接数据库的凭证。生成的客户端相关证书存放在 /etc/kaiwudb/certs 目录。若你的使用场景对安全性要求较高,如涉及敏感数据存储和传输,建议保持开启状态;若在测试环境,对安全要求相对较低,也可选择关闭。
- management_user:KWDB 的管理用户,默认为 kaiwudb。安装部署后,KWDB 会创建相应的管理用户以及和管理用户同名的用户组。你可以根据实际需求修改为自定义的管理用户名,但要注意用户名的规范性,避免使用特殊字符。
- rest_port:KWDB Web 服务端口,默认为 8080。若该端口已被占用,可修改为其他未被占用的端口,修改后在通过 Web 界面访问数据库时,需使用修改后的端口号。
- kaiwudb_port:KWDB 服务端口,默认为 26257。同样,若此端口被占用,需进行修改,并确保修改后的端口未被其他服务占用且已在防火墙中开放。
- data_root:数据目录,默认为 /var/lib/kaiwudb。数据目录用于存储数据库的数据文件,可根据磁盘空间和数据管理需求,修改为其他合适的目录,如 /data/kaiwudb。修改目录后,需确保该目录有足够的磁盘空间,且部署用户对该目录有读写权限。
- node_addr:本地节点对外提供服务的 IP 地址,监听地址为 0.0.0.0,端口为 KWDB 服务端口。如果你的机器有多个 IP 地址,需确保填写的 IP 地址是对外提供服务的正确 IP。若在本地测试环境,可填写 127.0.0.1。
- ssh_user:执行 SSH 操作时使用的用户,用于一些远程操作或节点间通信相关的功能(在本地部署中,此参数作用相对较小,但仍需确保填写正确的用户名)。
(二)赋予 deploy.sh 脚本权限
为 deploy.sh 脚本添加运行权限,执行命令:
chmod +x./deploy.sh
(三)执行单机部署安装命令
执行单机部署安装命令:
./deploy.sh install --single
执行成功后,控制台将输出:
INSTALL COMPLETED: KaiwuDB has been installed successfuly!
(四)启动 KWDB 节点
安装完成后,启动 KWDB 节点,执行命令:
./deploy.sh start
执行成功后,控制台输出:
START COMPLETED: KaiwuDB has started successfuly!
在某些操作系统(如 KylinOS)中,系统可能会提示输入用户密码。此时,无需输入密码,直接按回车键确认即可。
(五)查看 KWDB 节点状态
可通过以下两种方式查看 KWDB 节点状态:
使用 deploy.sh 脚本查看:
./deploy.sh status
使用 systemctl 命令查看(前提是系统支持 systemctl 管理服务):
systemctl status kaiwudb
若节点正常运行,将显示相应的运行状态信息。
(六)配置 KWDB 开机自启动
为方便使用,可配置 KWDB 开机自启动,这样在系统重启后,KWDB 会自动启动。执行命令:
systemctl enable kaiwudb
四、KWDB 的使用
(一)使用 KaiwuDB 开发者中心连接 KWDB
KaiwuDB 开发者中心是专门为 KWDB 数据库系统量身定制的可视化管理工具,操作便捷,即使是数据库新手也能轻松上手。其功能涵盖数据库连接、数据库管理、模式管理、表管理等多个方面。
依然是从gitee去下载v2.2.0 · KWDB/kwdb - Gitee.com
安装 KaiwuDB 开发者中心
- 支持操作系统:
- Windows 7 及以上 64 位系统
- Mac 操作系统(macOS)
不同操作系统版本的界面略有差异,但功能完全相同。
安装步骤:
从kwdb 发行版 - Gitee.com下载安装包并解压缩。解压后的文件目录中,双击运行 KaiwuDB Developer Center.exe 应用程序(Windows 系统)或对应的可执行文件(Mac 系统),即可完成安装。
连接 KWDB 数据库
- 在首次建立连接或软件中的所有连接都被删除后,软件启动后会自动弹出新建连接向导,引导用户建立连接。其他情况下,如需创建连接,可选择以下任一操作:
单击工具栏或数据库导航区工具栏中的新建连接按钮。
在菜单栏中,单击数据库,然后从下拉菜单中选择新建连接。
以首次建立连接为例,具体连接步骤如下:
- 在创建新连接窗口,选择 KaiwuDB 驱动,单击下一步
- 在常规页签,设置主机(填写部署 KWDB 时配置的 node_addr 对应的 IP 地址,若本地部署且使用默认配置,一般为 127.0.0.1)、端口(填写部署时配置的 kaiwudb_port,默认为 26257)、数据库(默认数据库名称,可根据实际创建的数据库名称修改)、用户(填写部署时配置的 management_user,默认为 kaiwudb)和密码(首次使用默认无密码,若开启安全模式且设置了密码,需填写正确密码)
- (可选)勾选显示非缺省的数据库,可显示所有数据库。默认情况下,只显示指定连接的数据库
- (可选)单击测试链接,检查连接是否成功。连接成功后,将显示相应成功信息
- 单击确定,数据库导航区将自动更新,显示已连接的数据库
(二)使用 KaiwuDB JDBC 连接 KWDB(适合 Java 开发者)
Java 数据库连接(Java Database Connectivity,JDBC)是 Java 应用程序访问数据库的标准 API。KWDB 提供了 JDBC 驱动程序 KaiwuDB JDBC,支持 Java 应用程序与 KWDB 数据库交互,执行查询、插入、更新和删除等操作。
安装 KaiwuDB JDBC
- 安装 Java(1.8 及以上版本),可从 Oracle 官方网站(Overview of JDK Installation)获取安装指南并下载安装包进行安装。
- 安装 Maven(3.6 及以上版本),参考 Apache Maven 官方网站(Installation – Maven)的安装教程进行安装。
- 安装 KWDB 数据库,并按照上述部署步骤配置好数据库认证方式,创建数据库。
- 从kwdb 发行版 - Gitee.com获取 KaiwuDB JDBC 驱动包。
- 运行以下命令,将 KaiwuDB JDBC 安装到本地 Maven 仓库中:
mvn install:install-file "-Dfile=../kaiwudb-jdbc.2.0.4.jar" "-DgroupId=com.kaiwudb" "-DartifactId=kaiwudb-jdbc" "-Dversion=2.0.4" "-Dpackaging=jar"
- 在项目的 pom.xml 中添加依赖,将 KaiwuDB JDBC 引入到 Java 应用程序中:
<dependency>
<groupId>com.kaiwudb</groupId>
<artifactId>kaiwudb-jdbc</artifactId>
<version>2.0.4</version>
</dependency>
连接 KWDB 数据库
用户需编写 Java 程序代码来连接数据库。Java 程序代码需要包含以下关键内容:
- 加载驱动:使用 KWDB 前必须先加载 KWDB 数据库驱动程序类,加载方式如下:
Class.forName("com.kaiwudb.jdbc.Driver");
- 建立连接:通过 DriverManager.getConnection () 方法与 KWDB 数据库建立连接。KWDB 支持以下连接方式:
Connection conn = DriverManager.getConnection(url);
Connection conn = DriverManager.getConnection(url, props);
Connection conn = DriverManager.getConnection(url, user, password);
其中,url 为数据库连接地址,格式一般为 jdbc:kaiwudb:// 主机地址:端口号 / 数据库名称;props 为包含连接属性的 Properties 对象;user 为数据库用户名;password 为数据库密码。
通过以上详细的本地部署和使用教程,相信开发者们能够快速将 KWDB 应用到实际项目中,充分发挥其在数据存储、管理与分析方面的强大优势,助力项目高效运行和业务快速发展。
后续我会继续更新更多关于KWDB在实际应用中的文章
敬请期待
本文完