麒麟V10 + Docker部署KingbaseES数据库实战教程

16 阅读4分钟

概述

本教程将详细介绍如何在麒麟V10服务器操作系统上使用Docker容器化技术部署KingbaseES数据库。KingbaseES是一款优秀的国产化数据库管理系统,具备多种兼容模式,能够满足各种企业级应用场景的需求。

环境准备

系统环境说明

  • 操作系统:麒麟V10服务器版
  • 处理器架构:鲲鹏处理器(ARM64)
  • 硬件配置:2核4G内存
  • 支持架构:KingbaseES Docker镜像支持X86_64、龙芯、飞腾、鲲鹏等多种处理器架构

环境验证

查看系统版本

cat /etc/kylin-release

查看系统版本

查看内核版本

uname -r

内核版本

Docker安装配置

更新系统软件包

sudo yum update -y

更新软件包

安装Docker

sudo yum install -y docker

安装Docker

启动Docker服务

sudo systemctl start docker

启动Docker

设置Docker开机自启

sudo systemctl enable docker

设置自启

验证Docker安装

docker --version

验证安装

创建安装目录

使用root用户权限执行以下命令,为KingbaseES数据库创建持久化存储路径:

# 切换到root用户
sudo su -

# 创建KingbaseES相关目录
mkdir -p /opt/kingbase
mkdir -p /opt/kingbase/data

# 设置适当的目录权限
chmod -R 755 /opt/kingbase/data

# 验证目录创建结果
ls -la /opt/kingbase/

创建目录

获取并导入KingbaseES镜像

下载KingbaseES Docker镜像

访问人大金仓官方网站下载页面:KingbaseES下载中心

选择适配ARM架构的飞腾_Linux Docker镜像包进行下载。

下载镜像

上传镜像文件到服务器

将下载的镜像文件(例如:KingbaseES_V009R001C010B0004_aarch64_Docker.tar)上传至服务器的/opt/kingbase目录。

上传完成后验证文件是否存在:

# 进入安装目录
cd /opt/kingbase

# 查看文件列表
ls -al

验证上传

导入Docker镜像

将镜像文件导入到Docker镜像仓库:

# 导入镜像文件
docker load -i /opt/kingbase/KingbaseES_V009R001C010B0004_aarch64_Docker.tar

导入镜像

验证镜像导入结果:

docker images

验证导入

部署KingbaseES容器

创建并运行容器

使用以下命令创建并启动KingbaseES数据库容器:

# 确保数据目录存在
mkdir -p /opt/kingbase/data

# 创建并运行KingbaseES容器
# 注意:请根据实际的镜像名称和版本号进行调整
docker run -tid --privileged \
-p 4321:54321 \
-v /opt/kingbase/data:/home/kingbase/userdata \
--restart=always \
-e NEED_START=yes \
-e DB_USER=kingbase \
-e DB_PASSWORD=123456 \
-e DB_MODE=oracle \
-e ENCODING=UTF8 \
--name kingbase \
kingbase_v009r001c010b0004_single_arm:v1 \
/usr/sbin/init

参数说明:

  • -p 4321:54321:端口映射,将容器内54321端口映射到主机4321端口
  • -v /opt/kingbase/data:/home/kingbase/userdata:数据卷挂载,实现数据持久化
  • --restart=always:容器自动重启策略
  • -e DB_USER=kingbase:设置数据库用户名
  • -e DB_PASSWORD=123456:设置数据库密码
  • -e DB_MODE=oracle:设置数据库兼容模式为Oracle
  • -e ENCODING=UTF8:设置数据库编码为UTF8

运行容器

验证容器运行状态

docker ps

验证容器

数据库状态检查与连接测试

检查数据库进程状态

进入容器内部检查KingbaseES数据库服务状态:

# 进入容器
docker exec -it kingbase /bin/bash

进入容器

# 检查数据库状态
sys_ctl -D /home/kingbase/userdata/data/ status

检查状态

容器内连接测试

在容器内部测试数据库连接:

ksql -Ukingbase -d test -p54321

内部连接测试

外部客户端连接测试

使用KStudio连接

创建新的KingbaseES连接 输入我们的配置后,点击测试连接。

防火墙配置

如果无法从外部连接,需要检查防火墙设置:

# 开放4321端口
sudo firewall-cmd --permanent --add-port=4321/tcp
sudo firewall-cmd --reload

# 查看开放的端口
sudo firewall-cmd --list-ports

总结

至此,我们已经在麒麟V10操作系统上成功使用Docker容器化技术部署了KingbaseES金仓数据库。整个部署过程条理清晰,操作简便,充分体现了容器化部署的优势。

感谢各位读者的耐心阅读与学习!希望本教程能够为您在国产化数据库部署实践中提供有价值的技术指导。如果在实际操作过程中遇到任何问题,欢迎交流讨论,共同进步。