【无标题】

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