《一文讲透》第1期:KWDB 单点安装部署

Hi,各位开发者伙伴:

为帮助大家少走弯路,轻松上手 KWDB(KaiwuDB 社区版) ,我们的《一文讲透》专栏正式营业啦!每一篇都会为大家分享超详细实用的数据库操作步骤与实战演练!

KWDB 是一款面向 AIoT 场景的分布式多模数据库产品,支持在同一实例同时建立时序库和关系库并融合处理多模数据,具备千万级设备接入、百万级数据秒级写入、亿级数据秒级读取等时序数据高效处理能力。

大家可以放心地使用 KWDB 来解决在物联网、能源电力、车联网、智慧政务等各类场景下遇到的数据处理难题。有遇到问题都可以在文末扫码联系小K 为你解答!🙆

今天,我们将围绕以下2部分内容,与大家一起完成 KWDB 的安装部署:

✅单点裸机部署

✅单点容器部署 (分别使用安装脚本和 YAML 文件)

开始前一定记得先下载安装包哦

( https://gitee.com/kwdb/kwdb/releases),我们的 Gitee 仓库地址( https://gitee.com/kwdb/kwdb )

单节点裸机部署

一、前提准备

1、硬件
如下为部署 KWDB 所需的硬件规格:

项目 要求
CPU 和内存 建议不低于 4 核 8G。
磁盘 - 推荐使用 SSD 或者 NVMe 设备,尽量避免使用 NFS、CIFS、CEPH 等共享存储。

  • 磁盘必须能够实现 500 IOPS 和 30 MB/s 处理效率。
    文件系统 建议使用 ext4 文件系统。
    ✔️Tip:实际部署时,用户可以根据实际的业务规模和性能要求规划硬件资源。

2、操作系统
KWDB 支持在以下服务器操作系统进行安装部署。

操作系统 版本 架构
Ubuntu V20.04 ARM_64
V20.04 x86_64
V22.04 x86_64
KylinOS V10 x86_64
V10 ARM_64
UOS V20 x86_64
✔️Tip:如使用上述未提及的操作系统,可能会存在问题,可及时与我们联系解决。

3、软件依赖
安装时,KWDB 会对依赖进行检查。如果缺少依赖会退出安装并提示依赖缺失。如果目标机器不能联网,用户需要在能联网的机器上根据目标机器的操作系统下载好所有依赖文件,然后将依赖文件复制到目标机器上进行安装。

不同操作系统及安装包的依赖略有不同,请根据实际安装包类型及操作系统,在部署前安装好相应的依赖。下表列出需要在目标机器安装的依赖:

依赖 版本 说明
OpenSSL v1.1.1+ N/A
Protobuf v3.5.0+ N/A
GEOS v3.3.8+ 可选依赖
xz-libs v5.2.0+ N/A
squashfs-tools any N/A
libgcc v7.3.0+ N/A
mount any N/A
squashfuse any 可选依赖
4、端口要求
下表列出 KWDB 服务需要映射的端口。在安装部署前,确保目标机器的以下端口没有被占用且没有被防火墙拦截。在安装部署时,用户可以修改 deploy.cfg 文件中的端口配置参数。

端口号 说明
8080 数据库 Web 服务端口
26257 数据库服务端口、节点监听端口和对外连接端口
5、安装包处理
获取系统环境对应的 DEB 或 RPM 安装包(https://gitee.com/kwdb/kwdb/releases/tag/V2.0.3.2),将安装包复制到待安装 KWDB 的目标机器上,然后解压缩安装包:

tar -zxvf <package_name>
解压后生成的目录包含以下文件:

文件 说明
add_user.sh 安装、启动 KWDB 后,为 KWDB 数据库创建用户。
deploy.cfg 安装部署配置文件,用于配置部署节点的 IP 地址、端口等配置信息。
deploy.sh 安装部署脚本,用于安装、卸载、启动、状态获取、关停和重启等操作。
packages 目录 存放 DEB、RPM 和镜像包。
utils 目录 存放工具类脚本。
monitoring 目录 存放 Prometheus 配置文件、Grafana Dashboard 模板等文件。
二、开始部署

部署 KWDB 时,系统首先将对配置文件、运行环境、硬件配置和软件依赖进行检查:

如果相应硬件未能满足要求,系统将继续安装,并提示硬件规格不满足要求;

如果软件依赖未能满足要求,系统将中止安装,并提供相应的提示信息。

在部署过程中,系统会自动生成相关日志。如果部署时出现错误,用户可以通过查看终端输出或 KWDB 安装目录中 log 目录里的日志文件,获取详细的错误信息。

部署完成后,系统会将 KWDB 封装成系统服务(名称为 kaiwudb),并生成以下文件:

kaiwudb.service:配置 KWDB 的 CPU 资源占用率;

kaiwudb.service:配置 KWDB 启动参数。

✔️ 总结在部署前,首先要先确定:
待部署节点的硬件、操作系统、软件依赖和端口满足安装部署要求;

安装用户为 root 用户或者拥有 sudo 权限的普通用户。

详细部署步骤如下👀:

👉(1)登录待部署节点,编辑安装包目录下的 deploy.cfg 配置文件,设置安全模式、管理用户、服务端口等信息。

默认情况下,deploy.cfg 配置文件中包含集群配置参数,需删除或注释 [cluster] 集群配置项。

配置文件示例:

[global]
secure_mode=y
management_user=kaiwudb
rest_port=8080
kaiwudb_port=26257
data_root=/var/lib/kaiwudb
cpu=1
[local]
node_addr=192.168.64.128

[cluster]

node_addr=192.168.64.129, 192.168.64.130

ssh_port=22

ssh_user=admin

相应参数说明:

secure_mode:是否开启安全模式,默认开启安全模式。开启安全模式后,KWDB 生成 TLS 安全证书,作为客户端或应用程序连接数据库的凭证。生成的客户端相关证书存放在 /etc/kaiwudb/certs 目录;

management_user:KWDB 的管理用户,默认为 kaiwudb。安装部署后,KWDB 创建相应的管理用户以及和管理用户同名的用户组;

rest_port:KWDB Web 服务端口,默认为 8080;

kaiwudb_port:KWDB 服务端口,默认为 26257;

data_root:数据目录,默认为 /var/lib/kaiwudb;

cpu: 可选参数,用于指定 KWDB 服务占用当前节点服务器 CPU 资源的比例,默认无限制。取值范围为 [0,1],最大精度为小数点后两位。

node_addr:本地节点对外提供服务的 IP 地址,监听地址为 0.0.0.0,端口为 KWDB 服务端口。

global:全局配置

local:本地节点配置

👉(2)为 deploy.sh 脚本添加运行权限。

chmod +x ./deploy.sh
👉(3)执行单机部署安装命令。

./deploy.sh install --single
执行成功后,控制台输出以下信息:

INSTALL COMPLETED: KaiwuDB has been installed successfuly! …
👉(4)启动 KWDB 节点。

./deploy.sh start
执行成功后,控制台输出以下信息:

START COMPLETED: KaiwuDB has started successfuly! …
✔️Tip:在 KylinOS 操作系统中,系统可能会提示输入用户密码。此时,无需输入密码,直接按回车键确认即可。

👉(5)查看 KWDB 节点状态。

./deploy.sh status
或者

systemctl status kaiwudb
👉(6)配置 KWDB 开机自启动。

配置 KWDB 开机自启动后,如果系统重启,则自动启动 KWDB。

systemctl enable kaiwudb
单节点容器部署

一、前提准备

1、硬件
如下为部署 KWDB 所需的硬件规格:

项目 要求
CPU 和内存 建议不低于 4 核 8G。
磁盘 - 推荐使用 SSD 或者 NVME 设备,尽量避免使用 NFS、CIFS、CEPH 等共享存储。

  • 磁盘必须能够实现 500 IOPS 和 30 MB/s 处理效率。
    文件系统 建议使用 ext4 文件系统。
    ✔️Tip:实际部署时,用户可以根据实际的业务规模和性能要求规划硬件资源。

2、操作系统
操作系统需要先安装 Docker,详细信息可参见 Docker 安装文档(https://docs.docker.com/engine/install/binaries/)和安装后说明(https://docs.docker.com/engine/install/linux-postinstall/)

KWDB 容器镜像支持在以下已安装 Docker 的操作系统中进行安装部署。

操作系统 版本 架构
Ubuntu V20.04 ARM_64
V20.04 x86_64
V22.04 x86_64
V22.04 ARM_64
KylinOS V10 x86_64
V10 ARM_64
Debian V11 ARM_64
UOS V20 x86_64
CentOS 7 x86_64
8 x86_64
openEuler 22.03 x86_64
3、软件依赖
目标机器已安装 Docker Compose(1.20.0 及以上版本)。在线安装 Docker Compose,可参见 Docker 官方文档(https://docs.docker.com/compose/install/)

sudo apt-get install docker-compose
4、端口要求
下表列出 KWDB 服务需要映射的端口。在安装部署前,确保目标机器的以下端口没有被占用且没有被防火墙拦截。在安装部署时,用户可以修改 deploy.cfg 文件中的端口配置参数。

端口号 说明
8080 数据库 Web 服务端口
26257 数据库服务端口、节点监听端口和对外连接端口
5、安装包处理
获取系统环境对应的安装包(可文末添加小K 微信获取哦),将安装包复制到待安装 KWDB 的目标机器上,然后解压缩安装包:

tar -zxvf <install_package_name>

解压后生成的目录包含以下文件:

文件 说明
add_user.sh 安装、启动 KWDB 后,为 KWDB 数据库创建用户。
deploy.cfg 安装部署配置文件,用于配置部署节点的 IP 地址、端口等配置信息。
deploy.sh 安装部署脚本,用于安装、卸载、启动、状态获取、关停和重启等操作。
packages 目录 存放 DEB、RPM 和镜像包。
utils 目录 存放工具类脚本。
二、开始部署

部署 KWDB 时,系统首先将对配置文件、运行环境、硬件配置和软件依赖进行检查:

如果相应硬件未能满足要求,系统将继续安装,并提示硬件规格不满足要求;

如果软件依赖未能满足要求,系统将中止安装,并提供相应的提示信息。

在部署过程中,系统会自动生成相关日志。如果部署时出现错误,用户可以通过查看终端输出或 KWDB 安装目录中 log 目录里的日志文件,获取详细的错误信息。

部署完成后,系统生成 /etc/kaiwudb/ 目录。Docker Compose 配置文件 docker-compose.yml 位于 /etc/kaiwudb/script 目录下。

部署完成后,用户可以修改 Docker Compose 配置文件 docker-compose.yml,配置 KWDB 的启动参数和 CPU 资源占用率。

有关定制化部署配置的详细信息,参见配置集群(https://gitee.com/kwdb/docs/blob/2.0/deployment/docker/cluster-config-docker.md)。

我们支持使用安装脚本和 YAML(.yml)文件两种方式部署 KWDB。安装脚本部署支持安全模式和非安全模式。 使用 YAML(.yml)文件进行部署时,仅支持非安全模式,登录 KWDB 数据库时需使用非安全连接模式。

✔️总结在部署前,首先要先确定:

待部署节点的硬件、操作系统、软件依赖和端口满足安装部署要求;

安装用户为 root 用户或者拥有 sudo 权限的普通用户:root 用户和配置 sudo 免密的普通用户在执行部署脚本时无需输入密码;未配置 sudo 免密的普通用户在执行部署脚本时,需要输入密码进行提权;

安装用户为非 root 用户时,需要通过 sudo usermod -aG docker $USER 命令将用户添加到 docker 组。

使用安装脚本部署 KWDB👀:
👉(1)登录待部署节点,编辑安装包目录下的 deploy.cfg 配置文件,设置安全模式、管理用户、服务端口等信息。

默认情况下,deploy.cfg 配置文件中包含集群配置参数,需删除或注释 [cluster] 集群配置项。

配置文件示例:

[global]
secure_mode=y
management_user=kaiwudb
rest_port=8080
kaiwudb_port=26257
data_root=/var/lib/kaiwudb
cpu=1
[local]
node_addr=192.168.64.128

[cluster]

node_addr=192.168.64.129, 192.168.64.130

ssh_port=22

ssh_user=admin

相关参数说明:

secure_mode:是否开启安全模式,默认开启安全模式。开启安全模式后,KWDB 生成 TLS 安全证书,作为客户端或应用程序连接数据库的凭证。生成的客户端相关证书存放在 /etc/kaiwudb/certs 目录;

management_user:KWDB 的管理用户,默认为 kaiwudb。安装部署后,KWDB 创建相应的管理用户以及和管理用户同名的用户组;

rest_port:KWDB Web 服务端口,默认为 8080;

kaiwudb_port:KWDB 服务端口,默认为 26257;

data_root:数据目录,默认为 /var/lib/kaiwudb;

cpu: 可选参数,用于指定 KWDB 服务占用当前节点服务器 CPU 资源的比例,默认无限制。取值范围为 [0,1],最大精度为小数点后两位。

node_addr:本地节点对外提供服务的 IP 地址,监听地址为 0.0.0.0,端口为 KWDB 服务端口。

global:全局配置

local:本地节点配置

👉(2)为 deploy.sh 脚本添加运行权限。

chmod +x ./deploy.sh
👉(3)执行单机部署安装命令。

./deploy.sh install --single
👉(4)执行成功后,控制台输出以下信息:

INSTALL COMPLETED: KaiwuDB has been installed successfuly! …
👉(5)启动 KWDB 节点。

./deploy.sh start
执行成功后,控制台输出以下信息:

START COMPLETED: KaiwuDB has started successfuly! …
👉(6)查看 KWDB 节点状态。

./deploy.sh status
或者

systemctl status kaiwudb
👉(7)配置 KWDB 开机自启动(可选)。

配置 KWDB 开机自启动后,如果系统重启,则自动启动 KWDB。

systemctl enable kaiwudb
使用 YAML 文件部署 KWDB 👀:
👉(1)在 kaiwudb_install/packages 目录下导入 KaiwuDB.tar 文件,获取镜像名称。

docker load < KaiwuDB.tar

Loaded image: “path-to-your-docker-image”
👉(2)创建 docker-compose.yml 配置文件。

配置文件示例:

version: ‘3.3’
services:
kaiwudb-container:
image: “path-to-your-docker-image”
container_name: kaiwudb-experience
hostname: kaiwudb-experience
ports:
- 8080:8080
- 26257:26257
ulimits:
memlock: -1
volumes:
- /dev:/dev
networks:
- default
restart: on-failure
ipc: shareable
privileged: true
environment:
- LD_LIBRARY_PATH=/kaiwudb/lib
tty: true
working_dir: /kaiwudb/bin
command:
- /bin/bash
- -c
- |
/kaiwudb/bin/kwbase start-single-node --insecure --listen-addr=0.0.0.0:26257 --advertise-addr=127.0.0.1:26257 --http-addr=0.0.0.0:8080 --store=/kaiwudb/deploy/kaiwudb
image 参数的取值必须是导入 KaiwuDB.tar 文件后获取的镜像名称。

👉(3)运行以下命令,快速启动 KWDB。

docker-compose up -d

👉(4)配置 KWDB 开机自启动(可选)。

配置 KWDB 开机自启动后,如果系统重启,则自动启动 KWDB。

systemctl enable kaiwud

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值