【无标题】

KEMCC介绍

金仓企业级统一管控平台Kingbase Enterprise Manager Cloud Control(简称 KEMCC),是金仓全栈产品的企业级统一管理平台,通过集中控制台实现对金仓数据库、其他市场主流数据库产品及其运行环境的全面管理,同时KEMCC 还提供开发调试、数据迁移及数据评估服务帮助企业高效地完成应用迁移。KEMCC 支持本地部署、云环境部署形态。该平台提供从数据库安装配置到监控运维的全生命周期管理能力,涵盖性能监控、可用性保障、安全防护、告警诊断、自动巡检、补丁升级等关键功能。通过统一的界面为用户提供智能化的运维管理解决方案,帮助用户实现系统运行状态的一站式掌控和自动化运维,提升了大规模数据库运维监控管理效率。

具备以下核心优势:

1)全栈产品的深度集成管理平台

● 全环境统一接入能力,支持本地物理环境、云环境、多云环境数据库实例部署。

● 自动化快速部署能力,通过定义标准化的模板和参数,实现数据库实例的高效批量部署。

● 数据库统一授权能力,轻松完成云上、云下的数据库在线授权,简化大规模数据库授权操作。

2)完善的监控、告警、故障诊断能力

● 全面的采集监控能力,提供精细化监控指标配置,满足客户个性化的监控需求。

● 灵活的指标告警配置,对配置的监控指标进行实时监测,一旦发现指标异常,系统会自动触发告警机制。

● 性能分析诊断优化能力,结合专家诊断知识库,快速定位性能瓶颈和潜在的系统问题,提供性能调优建议。

3)简单、安全、便捷的管理能力

● 简单易用:注重用户体验,配置和维护操作响应迅速,对生产数据库的影响降至最低,通过统一界面轻松管理数据库、展示监控数据一目了然。

● 安全管理:基于角色的访问控制,实现访问权限的精细化管理,有效保障了系统安全、降低误操作风险。

● 生态兼容:通过 API 接口与用户的统一运维平台无缝对接,使得生态用户能够轻松集成,从而降低了运维的复杂度,提高了运维效率。

KEMCC产品架构

部署前准备工作

安装要求

● 操作系统

● 内存要求:16GB 经测试,8GB也可以部署

● 磁盘要求:软件包的磁盘空间要求:2GB ,安装路径磁盘空间要求:3GB + 5GB* 被管理实例数量

● Java 环境要求 :Oracle JVM/JDK8 或Open JDK8

端口检查

KEMCC 默认使用的端口如下:

为了使程序可以正常使用,请确认以上端口检查配置打开,若同步环境存在防火墙配置,需要确保以上端口通信的畅通。同时需要确保本地 localhost 端到端回环通信连接未受到限制。

若使用自定义端口,可在服务信息配置界面配置或者安装完成后更改安装路径/conf/settings.conf配置文件后重启应用实现。

补充名词解释:

● KEMCC :金仓企业级统一管控平台(Kingbase Enterprise Manager Cloud Control)。

● KStudio :数据库对象管理工具,作为附属组件集成进入 KEMCC。

● LAC :数据库实例的集中授权管控工具,作为附属组件集成进入 KEMCC。

● 数据库实例: 从 KEMCC 中下发或者纳管的 KES 数据库实例(包括单机、集群等形态)。

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

目录规划

mkdir -p /data/kemcc/{soft,home}

上传安装介质并解压

上传 KEMCC-V003R001C003B0004-x86.tar.gz 至/data/kemcc/soft目录下并进行解压

cd /data/kemcc/soft

tar -xzvf KEMCC-V003R001C003B0004-x86.tar.gz

创建用户

adduser kemcc

echo 'kemcc' | passwd --stdin kemcc

chown -R kemcc:kemcc /data/kemcc

chmod -R 775 /data/kemcc

配置用户环境

用户环境配置包括对以下几个部分的配置检查和确认项

  1. 系统属性检查配置
  2. 检查和设置系统编码
  3. crontab 权限检查
    系统属性检查及配置
    操作系统 ulimit 用于限制进程所占用的资源。因 KEMCC 在运行时,会需要打开大量的文件句柄,
    KEMCC 进程涉及最大文件句柄数(open files)、允许创建的最大进程数量(max user processes)
    注意:需要从root用户切换到kemcc用户才可验证结果
    --更改操作系统资源限制
    vi /etc/security/limits.conf
    kemcc - nofile 65535
    kemcc - nproc 4096

--从root用户切换到kemcc用户

su - kemcc

--查看操作系统资源限制

ulimit -a

其中:

• 第 1 列表示配置的 OS 用户名(根据实际用户修改)

• 第 3 列表示配置的属性(nofile 表示打开文件数,nproc 表示打开的进程数)

• 第 4 列表示配置的数值

检查和设置系统编码

当前系统的编码类型需要设置为 UTF-8,输出内容中 LANG 和 LC_* 变量中包含"UTF-8",则说明当前系统的字符编码为 UTF-8。

--检查当前系统的编码类型

locale

输出如下:

补充:若当前系统的字符编码不为 UTF-8,可看如下命令进行修改,修改成功后可再进行检查,验证操作是否生效。

sudo localectl set-locale LANG=zh_CN.UTF-8

sudo localectl set-locale LANG=en_US.UTF-8

crontab 权限检查

程序启动需要用户具有 crontab 权限,可以输入以下命令检查是否有 crontab 权限:

su - kemcc

crontab -l

如果输出结果如下,说明该用户拥有 crontab 权限

no crontab for kemcc

或类似

          • /opt/KEMCC/lac/bin/lac_server
            补充:如果当前用户没有 crontab 权限,可以通过以下方式授予用户 crontab 权限,需要使用 sudo 或者 root 用户操作:
  1. 检查是否存在/etc/cron.allow 文件,如果存在该文件,则将当前用户名加入该文件。
    在文件中添加一行
    kemcc
  2. 检查是否存在/etc/cron.deny 文件,如果存在该文件,则将当前用户名从该文件中移除。
    时钟检查
    查看程序部署所在机器的当前系统时间,需要保证与现实时间一致,否则可能会造成程序工作异常。
    --检查当前系统时间
    date
    --修改系统时间
    sudo timedatectl set-time "2026-01-05 15:06:00"
    系统部署依赖软件检查(可忽略)

可通过运行如下命令,检查当前系统 java 环境与版本:

java -version

如果部署的系统中不存在 java 环境,则程序会使用安装包中自带的 java 运行程序。如果此时安装程序启动出现错误,请尝试手动安装该系统适配的 java 环境。

配置yum

配置本地yum仓库并安装图形化依赖包,不然采用图形化方式部署会报错。

#配置本地yum源

cd /etc/yum.repos.d

mkdir bk

mv *.repo bk/

cat > /etc/yum.repos.d/centos79.repo << "EOF"

local

name=centos79

baseurl=file:///mnt

gpgcheck=0

enabled=1

EOF

mount /opt/CentOS-7-x86_64-DVD-2009.iso /mnt

安装依赖包

yum groupinstall "GNOME Desktop"

yum groupinstall "X Window System"

部署过程

以非 root 用户执行安装程序,切换到kemcc用户下操作以下步骤

运行桌面上的Xmanager - Passive

su - kemcc

echo $LANG

export LANG=zh_CN.UTF-8

export DISPLAY=192.168.40.1:0.0

cd /data/kemcc/soft

sh setup.sh

欢迎界面

授权许可

选择安装组件

安装路径设置

服务信息配置

其中 Collertor 监听 IP 与 LAC 弹性 IP 需要填写能够被外部访问的本机 IP

补充名词解释:

● KEMCC :金仓企业级统一管控平台(Kingbase Enterprise Manager Cloud Control)。

● KStudio :数据库对象管理工具,作为附属组件集成进入 KEMCC。

● LAC :数据库实例的集中授权管控工具,作为附属组件集成进入 KEMCC。

● 数据库实例: 从 KEMCC 中下发或者纳管的 KES 数据库实例(包括单机、集群等形态)。

安装概览

安装

启动服务

启动服务过程中的日志输出:

启动服务 Running init_db.sh

启动服务 Starting initdb...

启动服务 数据库簇将使用本地化语言 "zh_CN.UTF-8"进行初始化.

启动服务 默认的数据库编码已经相应的设置为 "UTF8".

启动服务 initdb: 找不到适合区域设置的文本搜索配置 "zh_CN.UTF-8"

启动服务 属于此数据库系统的文件宿主为用户 "kemcc".

启动服务 此用户也必须为服务器进程的宿主.

启动服务 缺省的文本搜索配置将会被设置到"simple"

启动服务

启动服务 字符串的比较不区分大小写.

启动服务 禁止为数据页生成校验和.

启动服务

启动服务 修复已存在目录 /data/kemcc/home/kdb/data 的权限 ... 成功

启动服务 正在创建子目录 ... 成功

启动服务 选择动态共享内存实现 ...posix

启动服务 选择默认最大联接数 (max_connections) ... 100

启动服务 选择默认共享缓冲区大小 (shared_buffers) ... 128MB

启动服务 选择默认时区...Asia/Shanghai

启动服务 创建配置文件 ... 成功

启动服务 开始设置加密设备

启动服务 正在初始化加密设备...成功

启动服务 正在运行自举脚本 ...成功

启动服务 正在执行自举后初始化 ...成功

启动服务 创建安全数据库...成功

启动服务 加载安全数据库...成功

启动服务 同步数据到磁盘...成功

启动服务

启动服务

启动服务 成功。您现在可以用下面的命令开启数据库服务器:

启动服务

启动服务 /data/kemcc/home/kdb/bin/sys_ctl -D /data/kemcc/home/kdb/data -l 日志文件 start

启动服务

启动服务 initdb: 警告: 为本地连接启用"trust"身份验证

启动服务 你可以通过编辑 sys_hba.conf 更改或你下次

启动服务 执行 initdb 时使用 -A或者--auth-local和--auth-host选项.

启动服务 Starting KES...

启动服务 等待服务器进程启动 ... 完成

启动服务 服务器进程已经启动

启动服务 Creating database and user...

启动服务 CREATE DATABASE

启动服务 CREATE ROLE

启动服务 GRANT

启动服务 ALTER ROLE

启动服务 Loading initial data...

启动服务 Finish init db!

启动服务 Waiting for start kes

启动服务 kes start successful.

启动服务

启动服务 Starting LAC ################################################################################

启动服务 openjdk version "1.8.0_262"

启动服务 OpenJDK Runtime Environment (build 1.8.0_262-b10)

启动服务 OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

启动服务 LAC Server 端口号为 11234

启动服务 数据库簇将使用本地化语言 "zh_CN.UTF-8"进行初始化.

启动服务 默认的数据库编码已经相应的设置为 "UTF8".

启动服务 属于此数据库系统的文件宿主为用户 "kemcc".

启动服务 此用户也必须为服务器进程的宿主.

启动服务 缺省的文本搜索配置将会被设置到"simple"

启动服务

启动服务 字符串的比较区分大小写.

启动服务 禁止为数据页生成校验和.

启动服务

启动服务 创建目录 /data/kemcc/home/lac/bin/.../db/data ... 成功

启动服务 正在创建子目录 ... 成功

启动服务 选择动态共享内存实现 ...posix

启动服务 initdb: 找不到适合区域设置的文本搜索配置 "zh_CN.UTF-8"

启动服务 选择默认最大联接数 (max_connections) ... 100

启动服务 选择默认共享缓冲区大小 (shared_buffers) ... 128MB

启动服务 选择默认时区...Asia/Shanghai

启动服务 创建配置文件 ... 成功

启动服务 开始设置加密设备

启动服务 正在初始化加密设备...成功

启动服务 正在运行自举脚本 ...成功

启动服务 正在执行自举后初始化 ...成功

启动服务 创建安全数据库...成功

启动服务 加载安全数据库...成功

启动服务 同步数据到磁盘...成功

启动服务

启动服务 成功。您现在可以用下面的命令开启数据库服务器:

启动服务

启动服务 /data/kemcc/home/lac/bin/.../db/bin/sys_ctl -D /data/kemcc/home/lac/bin//.../db/data -l 日志文件 start

启动服务

启动服务 sys_ctl:没有服务器进程正在运行

启动服务 等待服务器进程启动 ...2026-01-05 16:58:01.997 CST 18678 日志: sepapower extension initialized

启动服务 2026-01-05 16:58:02.001 CST 18678 日志: 正在启动 KingbaseES V001R001C001B0055 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit

启动服务 2026-01-05 16:58:02.020 CST 18678 日志: 在Unix套接字 "/data/kemcc/home/lac/bin/.../db/data/.s.KINGBASE.64321"上侦听

启动服务 2026-01-05 16:58:02.108 CST 18678 日志: 日志输出重定向到日志收集进程

启动服务 2026-01-05 16:58:02.108 CST 18678 提示: 后续的日志输出将出现在目录 "sys_log"中.

启动服务 完成

启动服务 服务器进程已经启动

启动服务 InitDB success.

启动服务 sys_ctl: 正在运行服务器进程(PID: 18678)

启动服务 /data/kemcc/home/lac/db/bin/kingbase "-D" "/data/kemcc/home/lac/bin/.../db/data"

启动服务 2026-01-05 16:58:02 INFO 140506084260032 configpath = /data/kemcc/home/lac/bin//lac_server.conf

启动服务 2026-01-05 16:58:02 INFO 140506084260032 creating directory "/data/kemcc/home/lac/bin//.../log"...

启动服务 2026-01-05 16:58:02 NOTICE 140506084260032 redirecting logging output to "/data/kemcc/home/lac/bin//.../log/lac_server.log"

启动服务

启动服务 lac_ctl: PID file "/data/kemcc/home/lac/bin//lac_server.pid" does not exist

启动服务 Is server running?

启动服务 trying to start server anyway

启动服务 Successfully set/update lac_server scheduled attempt to start.

启动服务 waiting for server to start...

启动服务 done

启动服务 lac server started

启动服务 Starting KEMCC ###############################################################################

启动服务 openjdk version "1.8.0_262"

启动服务 OpenJDK Runtime Environment (build 1.8.0_262-b10)

启动服务 OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

启动服务 Waiting for start KEMCC

启动服务 ... KEMCC start successful.

启动服务

启动服务 Starting KMonitor collector ##########################################################################

启动服务 openjdk version "1.8.0_262"

启动服务 OpenJDK Runtime Environment (build 1.8.0_262-b10)

启动服务 OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

启动服务 now restart collector...

启动服务 restart collector success...

启动服务 Starting KStudio ############################################################################

启动服务 openjdk version "1.8.0_262"

启动服务 OpenJDK Runtime Environment (build 1.8.0_262-b10)

启动服务 OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

启动服务 Updating KStudio port: 8081

启动服务 KStudio port: 8081

启动服务 (Not all processes could be identified, non-owned process info

启动服务 will not be shown, you would have to be root to see it all.)

启动服务 Starting KStudio...

启动服务 ...KStudio start successful, PID: 19119

启动服务 KStudio listening on port: 8081

创建快捷方式

安装完成

目录说明

• bin :管控平台及其组件启停脚本目录。

• conf :管控平台配置文件目录。

• kdb :管控平台使用数据库目录。

• kemcc : 管控平台程序目录。

• kstudio : KStudio 程序目录。

• lac : LAC 授权管理程序目录。

• Logs : 日志目录。

• menu : 菜单用快捷方式图标目录。

• scripts : 服务初始化、注册、注销脚本。

• Uninstaller : 卸载程序目录。

• .installationinformation : 程序安装信息文件。

日志位置

安装路径/Logs

配置文件

安装路径/conf/settings.conf

配置文件中配置项由安装程序生成,也可在安装后自行进行配置,具体配置项示例说明如下

INSTALL_PATH=/data/kemcc/home # 程序安装目录

PORT=19000 # 管控平台服务页面访问端口

DATABASE_PORT=54321 # 管控平台服务使用的数据库端口

LAC_IP=192.168.40.107 # LAC 服务所在的 IP 地址

LAC_PORT=11234 # LAC 服务使用的端口号

KSTUDIO_PORT=8081 # KStudio 使用的端口号

COLLECTOR_IP=192.168.40.107 # Collector 服务所在的 IP 地址

COLLECTOR_PORT=54544 # Collector 服务使用的端口号

TMP_JAVA=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre # 如果操作系统没有 java 环境,使用的临时 java 环境

JAVA_DIR=/data/kemcc/home/jdk # 如果操作系统没有 java 环境,会在安装后把临时 java 环境移动

到该目录下

修改配置文件后,需要重新启动程序方可生效。

./bin/restart_all.sh

执行 root.sh

将管控平台服务添加为系统服务,实现开机自启。

su - root

/data/kemcc/home/scripts/root.sh

输出如下:

root@localhost yum.repos.d# /data/kemcc/home/scripts/root.sh

Unit

Description=Start KEMCC Service

After=network.target

Service

Type=forking

ExecStart=/data/kemcc/home/bin/restart_all.sh

ExecStop=/data/kemcc/home/bin/stop_all.sh

User=kemcc

Group=kemcc

Install

WantedBy=multi-user.target

Created symlink from /etc/systemd/system/multi-user.target.wants/kemcc.service to /etc/systemd/system/kemcc.service.

KEMCC has been successfully registered as a system service.

访问 KEMCC

启动管控平台后,默认登录地址为 https://管控平台所在机器 IP 地址:19000/ ,默认帐号密码为

admin/Kingbase@2024

注:若安装过程修改了管控平台端口,请以实际为准。 在登录管控平台页面后,请点击右上角用户图标中的"修改密码"修改默认密码。

问题处理

图形化调用失败

kemcc@localhost soft$ sh setup.sh

true

setup.sh:行132: fc-cache: 未找到命令

Now launch installer...

Cannot detect java, try to extract internal jdk.

Extracting jdk: ./setup/jdk-8u121-linux-x64.tar.gz

Use extracted jdk to start installation.

Cannot find X11 service, use console installer.

Command line arguments: -language chn -console

解决办法:

上传CentOS-7-x86_64-DVD-2009.iso至服务器/opt目录并挂载

#配置本地yum源

cd /etc/yum.repos.d

mkdir bk

mv *.repo bk/

cat > /etc/yum.repos.d/centos79.repo << "EOF"

local

name=centos79

baseurl=file:///mnt

gpgcheck=0

enabled=1

EOF

mount /opt/CentOS-7-x86_64-DVD-2009.iso /mnt

安装依赖包

yum groupinstall "GNOME Desktop"

yum groupinstall "X Window System"

访问KEMCC控制台 失败

root@localhost yum.repos.d# curl http://192.168.40.107:19000

Bad Request

This combination of host and port requires TLS.

https://管控平台所在机器 IP 地址:19000/而不是http://管控平台所在机器 IP 地址:19000/

扩展:卸载步骤

执行 UninstallRoot.sh

root用户运行 < 安装目录 >/Uninstaller/uninstall_root.sh;停止相关服务并删除相关服务注册信息

su - root

/data/kemcc/home//Uninstaller/uninstall_root.sh

启动卸载

--图形界面卸载

su - kemcc

export LANG=zh_CN.UTF-8

export DISPLAY=192.168.40.1:0.0

cd /data/kemcc/home//Uninstaller/

./uninstall.sh 或./Uninstaller/uninstall.sh -i swing

选择【强制删除】后,会删除安装目录下所有文件,请谨慎操作。

参考官方文档链接:https://www.kingbase.com.cn/product/details_723_100753.html

https://blog.csdn.net/m0_50546016/article/details/149572961