注册
DEM 部署过程及问题排查记录
专栏/技术分享/ 文章详情 /

DEM 部署过程及问题排查记录

济楚 2026/07/24 81 0 0
摘要

1. 部署目标

本次在同一台 CentOS 7 虚拟机上完成以下部署:

主机名:dujingying

DM8 软件目录:/dm8
DEM 后台数据库目录:/dmdata/DEM
DEM 后台数据库实例:DEM
DEM 后台数据库端口:5236

DEM 管理平台安装目录:/home/dmdba/dmdem
DEM 管理平台端口:32156

DEM 管理平台与后台数据库部署在同一台虚拟机中,因此数据库连接地址使用:

127.0.0.1:5236

Windows 本机无法直接访问虚拟机内网地址,最终通过 MobaXterm 本地端口转发访问 DEM 页面。

本次完成 DEM 平台安装和登录验证,DSC 集群及 dmagent 尚未部署。


2. 环境信息

操作系统:CentOS Linux 7 (Core)
CPU 架构:x86_64
CPU:6 核
内存:约 13 GiB
SELinux:Disabled
虚拟机地址:
  192.168.200.167
  192.168.201.73

检查命令:

cat /etc/os-release uname -m nproc free -h df -h hostname hostname -I

DM8 安装目录和 Java 环境:

DM8:/dm8
Java:/opt/dmjava
Java 版本:OpenJDK 1.8.0_492

检查命令:

java -version which java readlink -f "$(which java)"

实际结果:

/opt/dmjava/bin/java

3. DM8 基础环境准备

3.1 安装依赖

安装 DM8 时发现系统缺少 libaio,使用系统介质中的 RPM 包补装:

rpm -ivh /mnt/cdrom/Packages/libaio-0.3.109-13.el7.x86_64.rpm

检查:

rpm -qa | grep libaio

3.2 创建安装用户

groupadd dinstall useradd -m -g dinstall -s /bin/bash dmdba passwd dmdba

检查:

id dmdba

3.3 安装 DM8

安装介质:

/mnt/nas/dm8_20260710_x86_centos7_64.iso

安装程序:

/mnt/dmiso/DMInstall.bin

执行安装:

su - dmdba cd /mnt/dmiso chmod 755 DMInstall.bin ./DMInstall.bin -i

安装目录选择:

/dm8

安装完成后切换到 root,执行安装后脚本:

/dm8/script/root/root_installer.sh

检查 AP 服务:

systemctl status DmAPService --no-pager systemctl is-active DmAPService

4. 创建 DEM 后台数据库

4.1 创建数据目录

以 root 用户执行:

mkdir -p /dmdata chown -R dmdba:dinstall /dmdata chmod 755 /dmdata

4.2 初始化数据库

切换到 dmdba

su - dmdba

设置数据库密码。发布文档中不记录真实密码:

SYSDBA_PWD='<SYSDBA密码>' SYSAUDITOR_PWD='<SYSAUDITOR密码>'

执行初始化:

/dm8/bin/dminit \ path=/dmdata \ db_name=DEM \ instance_name=DEM \ port_num=5236 \ SYSDBA_PWD="$SYSDBA_PWD" \ SYSAUDITOR_PWD="$SYSAUDITOR_PWD"

初始化成功后生成:

/dmdata/DEM/dm.ini

实际完成时间:

2026-07-22 12:32:32

4.3 注册数据库服务

切换到 root:

exit

注册服务:

/dm8/script/root/dm_service_installer.sh \ -t dmserver \ -dm_ini /dmdata/DEM/dm.ini \ -p DEM

生成服务:

DmServiceDEM.service

启动并设置开机启动:

systemctl enable DmServiceDEM systemctl start DmServiceDEM systemctl status DmServiceDEM --no-pager

检查端口:

ss -lntp | grep ':5236'

5. 调整 DEM 后台库参数

停止数据库服务并备份配置:

systemctl stop DmServiceDEM cp /dmdata/DEM/dm.ini \ /dmdata/DEM/dm.ini.bak

修改内存参数:

sed -i \ 's/^[[:space:]]*MEMORY_POOL[[:space:]]*=.*/MEMORY_POOL = 200/' \ /dmdata/DEM/dm.ini sed -i \ 's/^[[:space:]]*BUFFER[[:space:]]*=.*/BUFFER = 1000/' \ /dmdata/DEM/dm.ini sed -i \ 's/^[[:space:]]*SORT_BUF_SIZE[[:space:]]*=.*/SORT_BUF_SIZE = 50/' \ /dmdata/DEM/dm.ini

检查:

grep -nE \ '^[[:space:]]*(MEMORY_POOL|BUFFER|KEEP|SORT_BUF_SIZE)[[:space:]]*=' \ /dmdata/DEM/dm.ini

本次最终使用的参数:

MEMORY_POOL = 200
BUFFER = 1000
SORT_BUF_SIZE = 50

修正文件权限:

chown dmdba:dinstall /dmdata/DEM/dm.ini

启动服务:

systemctl restart DmServiceDEM systemctl is-active DmServiceDEM ss -lntp | grep ':5236'

6. 后台数据库连接验证

切换到 dmdba

su - dmdba

登录后台数据库:

disql SYSDBA/'<SYSDBA密码>'@127.0.0.1:5236

检查实例:

select instance_name,status$ from v$instance;

实际结果:

INSTANCE_NAME:DEM
STATUS$:OPEN

检查数据库:

select name,status$ from v$database;

实际结果:

NAME:DEM
STATUS$:4

退出:

exit;

检查监听:

ss -lntp | grep ':5236'

实际监听形式:

[::]:5236

检查 IPv6 监听是否同时接受 IPv4:

sysctl net.ipv6.bindv6only

实际结果:

net.ipv6.bindv6only = 0

因此 [::]:5236 可以接受 IPv4 连接。

检查虚拟机防火墙:

firewall-cmd --state firewall-cmd --list-all

实际结果:

not running
FirewallD is not running

因此本次连接问题不是由虚拟机 firewalld 拦截造成的。


7. 准备 DEM 9 安装包

安装包:

dem_setup_20260702_x86_linux_64_9.0.1.zip

7.1 创建上传目录

mkdir -p /home/dmdba/upload chown -R dmdba:dinstall /home/dmdba/upload chmod 755 /home/dmdba/upload

将安装包上传到:

/home/dmdba/upload/

检查:

ls -lh /home/dmdba/upload

修正权限:

chown dmdba:dinstall \ /home/dmdba/upload/dem_setup_20260702_x86_linux_64_9.0.1.zip

7.2 安装 unzip

系统最初没有 unzip

which unzip

安装:

yum install -y unzip

测试压缩包:

unzip -t \ /home/dmdba/upload/dem_setup_20260702_x86_linux_64_9.0.1.zip

7.3 解压安装包

切换到 dmdba

su - dmdba

创建解压目录:

mkdir -p /home/dmdba/upload/dem_setup cd /home/dmdba/upload/dem_setup

解压:

unzip \ ../dem_setup_20260702_x86_linux_64_9.0.1.zip

检查目录:

find /home/dmdba/upload/dem_setup \ -maxdepth 3 \ -printf '%M %u:%g %p\n' | head -100

安装包主要结构:

dem_setup_20260702_x86_linux_64_9.0.1/
├── install/
│   └── install.jar
├── source/
│   ├── jdk/
│   ├── server/
│   ├── webapp/
│   └── resources/
├── setup.sh
└── setup.pdf

该安装包已经包含 JDK、Web 服务和 DEM 应用,不需要单独安装 Tomcat。


8. 安装 DEM 管理平台

进入安装目录:

cd /home/dmdba/upload/dem_setup/\ dem_setup_20260702_x86_linux_64_9.0.1

增加执行权限:

chmod +x setup.sh ls -l setup.sh

8.1 查看安装器参数

./setup.sh -h

安装器支持:

--cli,-i    以命令行方式运行

8.2 命令行安装

执行:

./setup.sh --cli

本次交互参数:

同意许可协议:2
安装目录:/home/dmdba/dmdem
管理平台端口:32156
安装后立即启动:Y
管理员密码:自定义
service_key:自定义,并妥善保存
自定义 URL:N
数据库 IP:127.0.0.1
数据库端口:5236
数据库用户:SYSDBA
数据库密码:后台库 SYSDBA 密码
打印详细日志:N
确认安装:y

service_key 用于 DEM 与 dmagent 之间的远程 RPC 校验,后续部署 dmagent 时必须保持一致。

安装前检查结果:

安装路径:通过
DEM 端口:通过
数据库连接:通过
数据库版本:DM8
CPU:6 核,低于推荐 8 核,但检查通过
可用内存:12.3 GiB
可用磁盘:32.6 GiB
文件句柄:65536
全部检查项:通过 7/7

安装完成后:

安装目录:/home/dmdba/dmdem
管理平台:http://127.0.0.1:32156
数据库:127.0.0.1:5236

安装日志:

/home/dmdba/dmdem/logs/install_detail.log

9. 启动和停止 DEM

切换到 dmdba

su - dmdba

停止:

/home/dmdba/dmdem/bin/stop.sh

启动:

/home/dmdba/dmdem/bin/start.sh

启动成功后显示:

Port 32156 will be used
Tomcat started.

检查进程和端口:

ps -ef | grep '[j]ava' ss -lntp | grep ':32156'

实际结果:

[::]:32156
java

检查 HTTP:

curl -sS -o /dev/null \ -w 'HTTP状态码:%{http_code}\n' \ http://127.0.0.1:32156/

实际结果:

HTTP状态码:200

检查两个虚拟机地址:

curl -sS -o /dev/null \ -w '192.168.200.167:%{http_code}\n' \ http://192.168.200.167:32156/ curl -sS -o /dev/null \ -w '192.168.201.73:%{http_code}\n' \ http://192.168.201.73:32156/

实际结果均为:

200

说明 DEM 服务已经对虚拟机网卡提供 HTTP 服务。


10. Windows 本机访问 DEM

10.1 直接访问失败

Windows 本机地址:

WLAN:192.168.43.145
VMnet1:192.168.126.1
VMnet8:192.168.110.1

虚拟机地址:

192.168.200.167
192.168.201.73

测试:

ping 192.168.200.167 ping 192.168.201.73 Test-NetConnection 192.168.200.167 -Port 5236 Test-NetConnection 192.168.201.73 -Port 5236

结果:

PingSucceeded:False
TcpTestSucceeded:False

Windows 发包接口为:

InterfaceAlias:WLAN
SourceAddress:192.168.43.145

说明 Windows 没有到 192.168.200.0/24192.168.201.0/24 的有效路由。

10.2 MobaXterm 本地端口转发

当前 MobaXterm SSH 入口:

SSH server:当前能够正常连接虚拟机的 SSH 入口
本次入口地址:10.36.41.11
SSH port:5207

在 MobaXterm 中打开:

Tunneling
→ New SSH tunnel
→ Local port forwarding

填写:

本地端口:32156
远程主机:127.0.0.1
远程端口:32156

SSH server:10.36.41.11
SSH port:5207
SSH login:使用当前可正常登录虚拟机的账号

启动隧道后,保持该隧道处于运行状态,在 Windows 浏览器打开:

http://127.0.0.1:32156/

登录账号:

admin

密码为安装 DEM 时设置的管理员密码。

登录成功后进入 DEM 首页。


11. 问题排查记录

11.1 dminit 初始化失败

现象:

只设置 SYSDBA_PWD 时初始化失败。

原因:

SYSAUDITOR 密码未设置或不满足密码策略。

处理:

SYSDBA_PWD='<SYSDBA密码>' SYSAUDITOR_PWD='<SYSAUDITOR密码>' /dm8/bin/dminit \ path=/dmdata \ db_name=DEM \ instance_name=DEM \ port_num=5236 \ SYSDBA_PWD="$SYSDBA_PWD" \ SYSAUDITOR_PWD="$SYSAUDITOR_PWD"

结果:

create dm database success.

11.2 KEEP 参数导致数据库服务异常

现象:

在 dm.ini 中增加 KEEP = 64 后,DmServiceDEM 重启异常。

原因:

当前 DM8 版本不支持该参数写法。

处理:

sed -i \ '/^[[:space:]]*KEEP[[:space:]]*=/d' \ /dmdata/DEM/dm.ini chown dmdba:dinstall /dmdata/DEM/dm.ini systemctl restart DmServiceDEM sleep 5 grep -nE \ '^[[:space:]]*(MEMORY_POOL|BUFFER|KEEP|SORT_BUF_SIZE)[[:space:]]*=' \ /dmdata/DEM/dm.ini systemctl is-active DmServiceDEM ss -lntp | grep ':5236'

结果:

DmServiceDEM:active
5236:正常监听

11.3 Java 环境中没有 jar 命令

现象:

/opt/dmjava/bin/jar tf dem_setup_*.zip

报错:

/opt/dmjava/bin/jar: No such file or directory

原因:

/opt/dmjava 是精简运行环境,只提供 java,没有 jar 工具。

处理:

yum install -y unzip unzip -t dem_setup_20260702_x86_linux_64_9.0.1.zip

11.4 图形安装器启动失败

执行:

./setup.sh

报错主要包括:

Fontconfig head is null
No X11 DISPLAY variable was set
java.awt.HeadlessException

原因:

服务器没有图形桌面和 DISPLAY 环境,安装器默认启动 Swing 图形界面。

查看帮助:

./setup.sh -h

改用命令行安装:

./setup.sh --cli

结果:

预检查 7/7 通过
安装成功

11.5 Windows 无法直连虚拟机

现象:

ping 超时
Test-NetConnection 失败
PowerShell SSH 连接 192.168.200.167:22 超时

原因:

Windows 本机与虚拟机内网不在同一网段,且没有有效路由。

处理:

不修改已经配置好的内网虚拟机网卡。
使用当前可用的 MobaXterm SSH 会话建立本地端口转发。

结果:

Windows 浏览器通过 http://127.0.0.1:32156/ 成功登录 DEM。

11.6 在 Linux 命令行直接输入 URL

错误操作:

http://192.168.200.167:32156/

报错:

No such file or directory

原因:

URL 不是 Shell 命令。

正确测试:

curl -I http://192.168.200.167:32156/

或在浏览器中打开 URL。

11.7 直接执行 dmagent 目录

错误操作:

/home/dmdba/dmdem/webapp/dmagent

报错:

Is a directory

原因:

dmagent 是目录,不是可执行文件。

查看目录:

cd /home/dmdba/dmdem/webapp/dmagent ls -lah

其中包含:

start.sh
service/
resources/
lib/

当前尚未部署 DSC,因此未继续配置 dmagent。


12. 当前部署状态

检查 DEM 后台数据库:

systemctl is-active DmServiceDEM ss -lntp | grep ':5236'

检查 DEM 管理平台:

ss -lntp | grep ':32156' curl -sS -o /dev/null \ -w 'HTTP状态码:%{http_code}\n' \ http://127.0.0.1:32156/

当前结果:

DmServiceDEM:active
DEM 数据库实例:DEM / OPEN
数据库端口:5236
DEM 管理平台端口:32156
HTTP 状态码:200
浏览器登录:成功

检查本机是否为 DSC 节点:

ps -eo pid,user,args | grep -E \ '[d]mcss|[d]masmsvr|[d]mserver' systemctl list-units --type=service --all | grep -Ei 'dmcss|dmasm|DmService' find /dm8 /dmdata /home/dmdba \ -type f \ \( -iname 'dmdcr.ini' \ -o -iname 'dmasvrmal.ini' \ -o -iname 'dmmal.ini' \) \ 2>/dev/null

实际只发现:

/dm8/bin/dmserver path=/dmdata/DEM/dm.ini -noconsole
DmServiceDEM.service

未发现:

dmcss
dmasmsvr
dmdcr.ini

因此当前是独立 DEM 服务器,不是 DSC 节点。

DEM 首页中数据库数量为空属于正常现象,原因是尚未部署 DSC 集群,也未在目标节点启动 dmagent。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服