官网
社区
文章目录
- 1.KWDB数据库安装部署
-
- [1.1 硬件环境要求](#1.1 硬件环境要求)
- [1.2 操作系统及架构](#1.2 操作系统及架构)
- [1.3 Ubuntu 22.04安装KWDB前准备](#1.3 Ubuntu 22.04安装KWDB前准备)
-
- [1.3.1 检查系统信息](#1.3.1 检查系统信息)
- [1.3.2 查看内核信息](#1.3.2 查看内核信息)
- [1.3.3 查看CUP信息](#1.3.3 查看CUP信息)
- [1.3.4 查看系统资源使用情况](#1.3.4 查看系统资源使用情况)
- [1.3.5 查看网络信息](#1.3.5 查看网络信息)
- [1.3.6 检查端口](#1.3.6 检查端口)
- [1.3.7 安装`libprotobuf`及相关工具](#1.3.7 安装
libprotobuf
及相关工具)
- [1.4 开始安装KWDB](#1.4 开始安装KWDB)
-
- [1.4.1 更新软件源](#1.4.1 更新软件源)
- [1.4.2 安装cmake](#1.4.2 安装cmake)
- [1.4.3 安装go](#1.4.3 安装go)
- [1.4.4 创建用于存放项目代码的代码目录。](#1.4.4 创建用于存放项目代码的代码目录。)
- [1.4.5 设置 go,CMake 环境变量](#1.4.5 设置 go,CMake 环境变量)
- CMake
- 采坑
1.KWDB数据库安装部署
- 操作系统:支持 Ubuntu 20.04/22.04 LTS 版本、CentOS 7.x/8.x 版本、龙蜥(Anolis OS)8.x 版本。
- 硬件
- 内存:最低 4GB,生产环境推荐 8GB 以上。
- 存储:至少 50GB 可用空间。
- CPU:x86_64 架构,建议 4 核以上。
- 软件依赖:在 Ubuntu 系统上,需要安装 dpkg - dev、devscripts、liblzma - dev、libstdc++ - static 等依赖。此外,若使用 GCC 和 G++ 7.3.0 版本,还需增加 libstdc++ - static 依赖;对于 Ubuntu 18.04 系统,由于默认的 libprotobuf 版本不满足要求,用户需要提前安装 3.6.1 或 3.12.4 等所需版本,并在编译时通过 make PROTOBUF_DIR=<protobuf_directory> 指定高版本路径。
对于生产环境,建议采用集群部署提高可用性,KWDB 集群至少需要 3 个节点1。同时,推荐使用 SSD 或者 NVMe 设备,文件系统建议使用 ext4
1.1 硬件环境要求
项目 | 要求 |
---|---|
CPU 和内存 | 单节点配置建议不低于 4 核 8G。对于数据量大、复杂的工作负载、高并发和高性能场景,建议配置更高的 CPU 和内存资源以确保系统的高效运行。 |
磁盘 | - 推荐使用 SSD 或者 NVMe 设备,尽量避免使用 NFS、CIFS、CEPH 等共享存储。 - 磁盘必须能够实现 500 IOPS 和 30 MB/s 处理效率。 - KaiwuDB 系统自身启动不会占用过多磁盘容量(低于 1G)。实际所需磁盘大小主要取决于用户的业务量以及是否开启 KaiwuDB 压缩等可以减少原始数据磁盘占用的功能。用户可以根据实际的业务规模和性能要求规划硬件资源。更多详细信息,参见预估磁盘使用量。 |
文件系统 | 建议使用 ext4 文件系统。 |
1.2 操作系统及架构
KaiwuDB 支持在以下服务器操作系统进行安装部署。
操作系统 | 版本 | 架构 | 容器 | 裸机 |
---|---|---|---|---|
Anolis | 7 | ARM_64 | √ | - |
7 | x86_64 | √ | - | |
8 | ARM_64 | √ | √ | |
8 | x86_64 | √ | √ | |
CentOS | 7 | x86_64 | √ | - |
8 | x86_64 | √ | - | |
Debian | V11 | ARM_64 | √ | - |
KylinOS | V10 | ARM_64 | √ | √ |
V10 | x86_64 | √ | √ | |
openEuler | 22.03 | x86_64 | √ | - |
Ubuntu | V18.04 | x86_64 | √ | √ |
V20.04 | ARM_64 | √ | √ | |
V20.04 | x86_64 | √ | √ | |
V22.04 | ARM_64 | √ | √ | |
V22.04 | x86_64 | √ | √ | |
V24.04 | ARM_64 | √ | √ | |
V24.04 | x86_64 | √ | √ | |
UOS | V20 | x86_64 | √ | √ |
V20 | ARM_64 | √ | √ |
1.3 Ubuntu 22.04安装KWDB前准备
我们在本地Ubuntu 22.04环境上进行安装
1.3.1 检查系统信息
使用lsb_release -a
命令,该命令可以显示 Ubuntu 系统的发行版信息

1.3.2 查看内核信息
使用uname -a
命令,它会显示系统的内核名称、版本、主机名等信息。

1.3.3 查看CUP信息
- 查看 CPU 信息可以使用
lscpu
命令,它能展示 CPU 的架构、核心数、线程数等详细信息。 - 查看内存信息可使用
free -h
命令,用于显示系统内存的使用情况,包括总内存、已用内存、可用内存等。

1.3.4 查看系统资源使用情况
top
命令可以实时显示系统中各个进程的资源使用情况,包括 CPU、内存等的占用率。

1.3.5 查看网络信息
-
使用
ip addr
命令查看网络接口的配置信息,如 IP 地址、子网掩码、MAC 地址等在 Ubuntu 18.04 及以后的版本中,
ifconfig
命令默认不再安装

1.3.6 检查端口

使用
ss
命令
ss
是一个用于显示套接字统计信息的工具,它比netstat
更快、更高效。
bashss -tuln | grep <端口号>
其中,
-t
、-u
、-l
、-n
选项的含义与netstat
命令中的相同。若端口被占用,会输出相关信息;若未被占用,则无输出。
在终端输入以下命令:
bash
ss -tuln | grep 8080
bash
ss -tuln | grep 26257

1.3.7 安装libprotobuf
及相关工具

- 检查libprotobuf版本,在终端输入以下命令:
bash
protoc --version
bash
dpkg -s libprotobuf-dev | grep Version
发现查找不到

- 安装
libprotobuf
及相关工具
执行下面的命令来安装libprotobuf
开发库和协议缓冲区编译器。
bash
sudo apt install libprotobuf-dev protobuf-compiler

-
再次执行以下命令查看版本
bashprotoc --version
到这里环境准备工作就完成了
1.4 开始安装KWDB
在终端依次输入以下命令:
1.4.1 更新软件源
bashsudo apt update
1.4.2 安装cmake
bashsudo apt install cmake
1.4.3 安装go
bashsudo snap install go --classic
1.4.4 创建用于存放项目代码的代码目录。
bashmkdir -p /home/xiaoyu/go/src/gitee.com
操作记录截图

1.4.5 设置 go,CMake 环境变量
一般而言,通过包管理器安装的 CMake,其可执行文件会自动添加到系统的
PATH
环境变量中。不过,要是你从源码编译安装了 CMake,就需要手动设置环境变量。
- (1)查看CMake安装路径
bashwhich cmake
- (2)打开环境变量配置文件 :同样以
~/.bashrc
为例,使用以下命令打开该文件:
bashnano ~/.bashrc
- (3)添加 CMake 环境变量 :假设 CMake 的可执行文件所在目录为
/usr/bin/cmake/bin
,在文件末尾添加以下内容:
bashexport GOROOT=/usr/local/go export GOPATH=/home/go #请以实际代码下载存放路径为准,在此以home/go目录为例 export PATH=$PATH:/usr/local/go/bin:/usr/bin/cmake/bin
(4)保存并退出文件 :在
nano
编辑器中,按下Ctrl + X
,然后按Y
确认保存,最后按Enter
键退出。(5)使环境变量生效:执行以下命令使修改后的环境变量立即生效:
bashsource ~/.bashrc #个人用户设置 source /etc/profile #系统全局设置
- (6)验证 CMake 环境变量是否设置成功:执行以下命令查看 CMake 的版本信息:
bashcmake --version
若能正常输出版本信息,则说明 CMake 环境变量设置成功。
- (7)验证 Go 环境变量是否设置成功
在终端执行以下命令查看 Go 的版本信息:
bashgo version
若能正常输出版本信息,就说明 Go 环境变量设置成功。
CMake
CMake 是一个开源、跨平台的自动化构建系统配置工具,它本身并不直接构建出最终的软件,而是为其他构建工具(如 Make、Ninja 等)生成相应的构建文件,比如在 Unix/Linux 系统中生成 Makefile 文件。其用途主要体现在以下方面:
- 跨平台项目构建:当你开发的项目需要在不同的操作系统(如 Windows、Linux、macOS)和编译器(如 GCC、Clang、MSVC)上进行构建时,CMake 能根据不同平台和编译器的特性生成对应的构建文件,保证项目在各平台上都能顺利构建。
- 简化构建配置:在大型项目中,手动编写和维护复杂的构建脚本(如 Makefile)是一项艰巨的任务。CMake 通过简单的 CMakeLists.txt 文件来描述项目的结构和构建规则,开发者只需编写一次 CMakeLists.txt 文件,CMake 就能自动生成适用于不同平台的构建文件。
- 依赖管理 :CMake 可以方便地管理项目的依赖项,通过
find_package
命令查找系统中已安装的库,或者通过ExternalProject_Add
命令下载和编译外部依赖库。