# 环境配置类相关问题排查指南(7.3版本)
# 排查指南详细说明
通用前置检查:
- 确认版本:明确是
7.3 GA还是7.3.1版本。 - 检查服务状态:确认所有相关服务(DAMP、元数据、ES、nginx、redis)均已启动。
- 查看日志文件:遇到问题先查看对应服务的日志文件。
- 备份配置文件:修改任何配置文件前务必先备份。
- 查阅补丁列表:在寻求复杂解决方案前,强烈建议先检索是否有官方发布的补丁。您可以通过以下链接访问官方补丁列表:
- DAMP 7.3.1 补丁列表: DAMP7.3.1补丁列表 (opens new window)
- DAMP 7.3 GA 补丁列表: DAMP7.3GA补丁列表 (opens new window)
# 场景一:Nginx配置问题
问题现象:
- 通过nginx访问DAMP页面显示404或502。
- 上传大文件失败,报“413 Request Entity Too Large”。
- 接口请求超时,报“504 Gateway Timeout”。
- 静态资源(图片、CSS)加载失败。
排查步骤:
第一步:检查nginx进程状态。
- 命令:
systemctl status nginx或ps -ef | grep nginx - 解决方案:如果进程不存在,启动nginx。
- 命令:
第二步:检查nginx配置文件语法。
- 命令:
nginx -t - 解决方案:根据错误提示修正配置文件。
- 命令:
第三步:检查proxy_pass配置。
- 现象:访问页面报404,或接口请求失败。
- 正确配置示例:
# DAMP后端API location /DAMP/ { proxy_pass http://127.0.0.1:28078/DAMP/; } # 元数据服务 - 注意必须使用^~前缀 location ^~/dgs/ { proxy_pass http://127.0.0.1:28079/dgs/; } # 大文件上传配置 client_max_body_size 100m; proxy_read_timeout 300s;
第四步:检查上传文件大小限制。
- 现象:上传文件时报“413 Request Entity Too Large”。
- 解决方案:在nginx配置中添加
client_max_body_size 100m;
第五步:检查超时时间配置。
- 现象:长时间操作的接口报“504 Gateway Timeout”。
- 解决方案:增加超时时间
proxy_read_timeout 300s;
第六步:检查nginx用户权限。
- 现象:nginx启动失败,或无法访问静态文件。
- 解决方案:修改nginx.conf中的
user指令为root或有权限的用户。
# 场景二:ES/搜索引擎配置问题
问题现象:
- 服务调用统计页面报500错误。
- 资产检索功能异常或返回结果不正确。
- 资产浏览、标准检索无数据。
- ES启用了SSL时连接失败。
排查步骤:
第一步:检查ES服务状态。
- 命令:
systemctl status elasticsearch curl -XGET 'http://ES_IP:9200/_cat/health?v' - 解决方案:如果ES未启动,启动服务。
- 命令:
第二步:检查DAMP平台参数配置。
- 操作:进入“平台配置” -> “平台参数配置”,检查搜索引擎相关参数。
- 关键配置:
searchEngine.engineUrl = http://ES_IP:9200 searchEngine.engineUserName = elastic # 如开启认证 searchEngine.enginePassword = ****** # 如开启认证 searchEngine.searchtype = es searchEngine.enginetype = ElasticSearch - 解决方案:修正错误配置后,点击“刷新缓存”,重启DAMP服务。
第三步:检查ES索引状态。
- 现象:统计页面无数据,或检索不到资产。
- 命令:
# 查看所有索引 curl -XGET 'http://ES_IP:9200/_cat/indices?v' - 解决方案:如果索引不存在,在DAMP“系统工具”中执行对应初始化工具:
- 资产ES初始化
- 标准ES初始化
- 知识库ES初始化
第四步:检查ES SSL证书配置。
- 现象:ES启用了HTTPS,报错
SSLHandshakeException。 - 解决方案:
# 导入证书到JDK信任库 keytool -import -alias es_cert -keystore $JAVA_HOME/jre/lib/security/cacerts -file http_ca.crt # 默认密码:changeit # 导入后重启DAMP服务
- 现象:ES启用了HTTPS,报错
第五步:检查ES磁盘空间。
- 现象:ES日志报
disk usage exceeded flood-stage。 - 解决方案:清理旧索引
curl -XDELETE 'http://ES_IP:9200/api-log-2023.*'
- 现象:ES日志报
# 场景三:元数据服务配置问题
问题现象:
- 资产编目时选择元数据无数据。
- 物理模型页面打开报错或为空。
- 元数据浏览页面显示404。
- 元数据采集任务无法执行。
排查步骤:
第一步:确认元数据部署模式。
- 独立模式:单独安装元数据7.5GA,有独立DGS应用。
- 集成模式:元数据与DAMP集成,无独立DGS。
- 判断方法:查看DAMP安装目录下是否有元数据相关模块。
第二步:检查平台参数配置。
- 操作:进入“平台配置” -> “平台参数配置”,检查元数据相关参数。
- 关键配置:
# 独立模式 metacube.product = LOCAL metacube.isAlone = Y metacube.serverUrl = http://元数据IP:端口/dgs # 集成模式 metacube.product = LOCAL metacube.isAlone = N metacube.rmiport = 9996 metacube.rmihost = 127.0.0.1 - 解决方案:根据实际部署模式修正配置,点击“刷新缓存”,重启DAMP服务。
第三步:检查元数据服务状态。
- 独立模式:
ps -ef | grep dgs,curl -XGET 'http://元数据IP:端口/dgs/actuator/health' - 集成模式:
ps -ef | grep damp(元数据集成在DAMP中) - 解决方案:如果服务未启动,启动元数据服务。
- 独立模式:
第四步:检查nginx转发配置。
- 现象:通过nginx访问元数据服务时报404。
- 正确配置:
# 注意:必须使用^~前缀,避免与前端路由冲突 location ^~/dgs/ { proxy_pass http://元数据IP:端口/dgs/; }
第五步:检查元数据数据库连接。
- 操作:查看元数据服务日志,确认数据库连接是否正常。
- 日志位置:
元数据安装目录/logs/dgs.log
# 场景四:数据库连接配置问题
问题现象:
- 新增数据源时连接测试失败。
- 服务启动时报表不存在或连接失败。
- 中文乱码或特殊字符问题。
排查步骤:
第一步:检查JDBC URL格式。
- 各数据库URL格式:
# MySQL jdbc:mysql://IP:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # Oracle jdbc:oracle:thin:@IP:1521:实例名 # 达梦 jdbc:dm://IP:5236/数据库名?columnNameUpperCase=false&characterEncoding=UTF-8 # PostgreSQL jdbc:postgresql://IP:5432/数据库名?currentSchema=模式名
- 各数据库URL格式:
第二步:检查数据库驱动。
- 现象:报“No suitable driver”或驱动类找不到。
- 解决方案:
- MySQL:
com.mysql.jdbc.Driver或com.mysql.cj.jdbc.Driver - Oracle:
oracle.jdbc.driver.OracleDriver - 达梦:
dm.jdbc.driver.DmDriver - PostgreSQL:
org.postgresql.Driver
- MySQL:
- 操作:将对应驱动jar包放入DAMP的
lib目录。
第三步:检查user-config.xml配置。
- 文件位置:
damp/config/DAMP/config/user-config.xml - 正确配置示例:
<group name="default"> <configValue key="Database-Type">MySql</configValue> <configValue key="C3p0-DriverClass">com.mysql.jdbc.Driver</configValue> <configValue key="C3p0-Url">jdbc:mysql://127.0.0.1:3306/damp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8</configValue> <configValue key="C3p0-UserName">username</configValue> <configValue key="C3p0-Password">password</configValue> </group>
- 文件位置:
第四步:检查密码特殊字符。
- 现象:密码包含
@、#、$等特殊字符导致连接失败。 - 解决方案:对特殊字符进行URL编码(如
@编码为%40)。
- 现象:密码包含
第五步:检查达梦大小写敏感配置。
- 现象:表存在但查询报“表或视图不存在”。
- 解决方案:在JDBC URL中添加
?columnNameUpperCase=false
# 场景五:服务引擎配置问题
问题现象:
- 服务开发页面显示的服务地址为127.0.0.1。
- 服务测试时无法连接。
- 服务引擎无法注册到DAMP。
排查步骤:
第一步:检查服务引擎配置文件。
- 文件位置:
dataengineprod/config/application.properties - 关键配置:
spring.application.name=DataEnginePROD server.port=10010 # 数据库配置 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/damp?useUnicode=true&characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=primeton # Redis配置 spring.redis.host=127.0.0.1 spring.redis.port=6379 # 引擎环境配置 engine.runtime.env=PROD
- 文件位置:
第二步:检查平台参数中的服务引擎地址。
- 操作:进入“平台配置” -> “平台参数配置”,检查服务引擎配置。
- 关键配置:
dataEngine.gatewayUrl = http://真实IP:10010 # 不能配置为127.0.0.1 dataEngine.gatewayUatUrl = http://真实IP:10011 - 解决方案:修改为真实IP地址,点击“刷新缓存”。
第三步:检查服务引擎进程。
- 命令:
ps -ef | grep dataEngine - 解决方案:如果进程不存在,启动服务引擎。
- 命令:
第四步:检查服务引擎日志。
- 命令:
tail -f /opt/dataengineprod/logs/engine.log
- 命令:
# 场景六:权限/角色配置问题
问题现象:
- 流程待办任务收不到。
- 菜单看不到或无法访问。
- 操作时报无权限。
排查步骤:
第一步:使用admin账号登录。
- 账号:admin / 000000
- 操作:进入“应用中心” -> “权限管理” -> “角色管理”
第二步:给资产管理员角色授权。
- 操作:
- 找到【资产管理员】角色,点击进入。
- 选择“权限”页签。
- 左侧应用列表选择“应用基础门户”。
- 在“页面”页签中勾选“工作流程” -> “我的任务”。
- 在“功能”页签中勾选“应用管理” -> “查询应用列表功能”。
- 点击“保存”。
- 操作:
第三步:给资产部门管理员角色授权。
- 操作:同上步骤,给【资产部门管理员】角色授权相同权限。
第四步:给资产普通用户角色授权。
- 操作:同上步骤,给【资产普通用户】角色授权相同权限。
第五步:如果集成了数据质量。
- 操作:在左侧应用列表中找到“数据质量”,在“功能”页签中添加“数据源管理” -> “数据源新增”。
第六步:验证权限。
- 操作:使用dtadmin账号登录,检查是否能正常处理流程。
# 场景七:文件/目录权限问题
问题现象:
- 日志无法写入,服务启动失败。
- 上传文件失败。
- 静态资源无法访问。
排查步骤:
第一步:检查DAMP目录权限。
- 命令:
ls -la /opt/primeton/server/damp - 解决方案:确保运行DAMP的用户有读写权限。
chown -R primeton:primeton /opt/primeton/server/damp chmod -R 755 /opt/primeton/server/damp
- 命令:
第二步:检查日志目录权限。
- 命令:
ls -la /opt/primeton/server/damp/logs - 解决方案:确保目录可写。
- 命令:
第三步:检查上传临时目录权限。
- 配置位置:
application-dm.properties中的spring.servlet.multipart.location - 解决方案:确保目录存在且有读写权限。
- 配置位置:
第四步:检查nginx静态文件权限。
- 命令:
ls -la /opt/primeton/web/afcenter - 解决方案:确保nginx用户(如root)有读取权限。
- 命令:
← 资产低开流程配置开发说明 数据标准管理问题 →