【KWDB 创作者计划】_Ubuntu 22.04系统KWDB数据库安装部署使用教程

官网

https://www.kaiwudb.com/

社区

https://gitee.com/kwdb/kwdb

文章目录

  • 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更快、更高效。

bash 复制代码
ss -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
  • 再次执行以下命令查看版本

    bash 复制代码
    protoc --version

到这里环境准备工作就完成了

1.4 开始安装KWDB

在终端依次输入以下命令:

1.4.1 更新软件源

bash 复制代码
sudo apt update

1.4.2 安装cmake

bash 复制代码
sudo apt install cmake

1.4.3 安装go

bash 复制代码
sudo snap install go --classic

1.4.4 创建用于存放项目代码的代码目录。

bash 复制代码
mkdir -p /home/xiaoyu/go/src/gitee.com

操作记录截图

1.4.5 设置 go,CMake 环境变量

一般而言,通过包管理器安装的 CMake,其可执行文件会自动添加到系统的PATH环境变量中。不过,要是你从源码编译安装了 CMake,就需要手动设置环境变量。

  • (1)查看CMake安装路径
bash 复制代码
which cmake
  • (2)打开环境变量配置文件 :同样以~/.bashrc为例,使用以下命令打开该文件:
bash 复制代码
nano ~/.bashrc
  • (3)添加 CMake 环境变量 :假设 CMake 的可执行文件所在目录为 /usr/bin/cmake/bin ,在文件末尾添加以下内容:
bash 复制代码
export 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)使环境变量生效:执行以下命令使修改后的环境变量立即生效:

bash 复制代码
source ~/.bashrc #个人用户设置
source /etc/profile  #系统全局设置
  • (6)验证 CMake 环境变量是否设置成功:执行以下命令查看 CMake 的版本信息:
bash 复制代码
cmake --version

若能正常输出版本信息,则说明 CMake 环境变量设置成功。

  • (7)验证 Go 环境变量是否设置成功

在终端执行以下命令查看 Go 的版本信息:

bash 复制代码
go 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命令下载和编译外部依赖库。

采坑

相关推荐
小黄人20256 天前
【KWDB 创作者计划】一款面向 AIoT 的多模数据库实战体验
数据库·云计算·kwdb
倔强的石头10614 天前
【KWDB 创作者计划】_本地化部署与使用KWDB 深度实践
kwdb
Blossom.11821 天前
KWDB创作者计划— KWDB技术范式革命:从数据存储到认知进化的架构跃迁
数据库·分布式·oracle·架构·自动化·kwdb·流式计算拓扑
Blossom.11823 天前
KWDB创作者计划—KWDB认知引擎:数据流动架构与时空感知计算的范式突破
决策树·架构·自动化·拓扑学·kwdb·流式计算拓扑·情感感知
前进的程序员1 个月前
【KWDB 创作者计划】_KWDB:开源引领数据库创新变革
数据库·kwdb
Blossom.1181 个月前
KWDB创作者计划—KWDB:AIoT场景下的分布式多模数据库实践
数据库·人工智能·分布式·物联网·性能优化·车联网·kwdb