记录炬鲸 OBSERVE 在鲲鹏 920 + 银河麒麟 V10 + 达梦 DM8 环境下跑通的完整过程:达梦元数据库配置、aarch64 采集端适配、内核参数调优与验收标准,附踩坑清单。
信创环境不是换个 CPU 那么简单,存储、驱动、内核参数都要跟着改。本文记录我们在鲲鹏 920 + 银河麒麟 V10 + 达梦 DM8 环境下跑通炬鲸 OBSERVE 的过程和踩过的坑。
所有组件都提供 aarch64 安装包,无需交叉编译。迁移前先核对达梦、麒麟的补丁版本,个别小版本存在 JDBC 兼容差异,建议直接用厂商推荐的最新稳定版。
安装达梦后,为平台单独建实例,并调整两个关键参数:
ALTER SYSTEM SET 'COMPATIBLE_MODE'=4; -- 兼容 MySQL 语法
ALTER SYSTEM SET 'ENABLE_BLOB_CMP'=0;
JDBC 驱动用 DmJdbcDriver18,连接串带 ?compatibleMode=mysql。COMPATIBLE_MODE=4 对从 MySQL 迁移来的库最关键,不设它连 LIMIT 和 AUTO_INCREMENT 这类基本语句都会行为不一致。若要迁已有数据,建议先停写、再逻辑导出导入,避免二进制格式不兼容。迁移后做一次字段级抽样比对,确认大字段和中文内容没有乱码。
日志采集 Agent 和 Collector 都要用 aarch64 包。文件采集在麒麟下注意两点:一是默认文件句柄数偏小,把 /etc/security/limits.conf 里 nofile 调到 65535;二是 inotify 监听上限,把 /proc/sys/fs/inotify/max_user_watches 调到 1048576,否则日志量大时会出现漏采。改完用 ulimit -n 和 cat /proc/sys/fs/inotify/max_user_watches 确认生效——limits.conf 只对新建进程生效,常驻的老进程要重启。
压测时重点看达梦的缓冲区和线程数。把 MEMORY_POOL 调大、MAX_SESSIONS 按连接数预留。鲲鹏主机上的 aarch64 版本默认堆大小有时和 x86 不一致,平台服务的 JVM 堆建议显式指定,别依赖默认值。验收标准:10 万条/分钟日志采集不丢、检索 P95 在 3 秒内、告警延迟在 30 秒内。
一句话总结:信创迁移先跑通最小闭环(采集 → 入库 → 检索 → 告警),再谈规模。