工业数字模型驱动引擎
工业数字模型驱动引擎
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 控制台操作指南
-
数据建模引擎用户指南
- 设计态使用指南
- 运行态使用指南
- 流程引擎使用指南
- 数字主线引擎用户指南
- 最佳实践
- 开发指南
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API
- 应用管理
- 运行服务管理
-
数据建模引擎
- 基础数据服务
-
版本服务
- 管理员更新M-V模型数据实例
- 管理员批量更新M-V模型数据实例
- 管理员撤销检出M-V模型数据实例
- 管理员批量撤销检出M-V模型数据实例
- 获取指定M-V模型实例的版本列表
- 获取指定版本的M-V模型实例数据
- 检出M-V模型数据实例
- 批量检出M-V模型数据实例
- 检出并更新M-V模型
- 批量检出并更新M-V模型
- 撤销检出M-V模型数据实例
- 批量撤销检出M-V模型数据实例
- 检入M-V模型数据实例
- 批量检入M-V模型数据实例
- 更新并检入M-V模型数据实例
- 批量更新并检入M-V模型数据实例
- 修订M-V模型数据实例
- 批量修订M-V模型数据实例
- 修订并更新M-V模型数据实例
- 批量修订并更新M-V模型数据实例
- 批量升级M-V模型实例的版本号
- 删除版本对象下最新分支的最新版本实例数据
- 软删除版本对象下最新分支的最新版本实例数据
- 删除最新大版本下的所有小版本
- 批量删除最新大版本下的所有小版本
- 软删除M-V模型实例下最新分支的所有小版本数据
- 批量软删除最新大版本下的所有小版本
- 对比M-V模型实例
- 失效管理
- 业务编码生成器
- 标签管理
- 生命周期管理
- 系统版本
- 多维视图和多维分支
- 关系实体服务
- 树形结构
- 流程引擎
- 应用示例
- 权限和授权项
- 附录
- SDK参考
-
常见问题
- 一般性相关问题
- 计量计费相关问题
-
数据建模引擎相关问题
- 设计态与运行态有什么区别?
- 为什么无法登录应用运行态?
- 为什么用户管理中会有“用户不存在”的用户?
- 为什么登录应用运行态时提示“缺少参数或参数错误”?
- 为什么设置输入型参数时提示安全校验失败?
- 应用发布后,在运行态为什么看不到构建的模型数据?
- 如何验证已设置的用户权限已生效?
- 什么是XDM应用?
- 什么是M-V模型?
- 数据建模引擎支持哪些属性类型?
- 枚举、合法值和参考对象的区别是什么?
- 入图和不入图有什么不同?
- 数据建模引擎支持哪些层级的缓存?
- 如何进行应用同步?
- 可以通过API方式使用应用设计态吗?
- 体验版数据建模引擎和基础版数据建模引擎提供的API有什么不同?
- 如何查看数据建模引擎的版本号?
- 如何避免数据模型互相引用形成环?
- 使用JDK 17版本应用运行态时,服务编排存在哪些约束与限制?
-
数字主线引擎相关问题
- 什么是企业租户和应用租户?
- 创建实体时选择构建表的作用是什么?
- 复杂实体属性太多,创建麻烦怎么办?
- 什么是源端映射和目标端映射?
- 什么是增量字段?
- 关系型数据库映射配置中DelFlag字段的作用是什么?
- 创建数据质量任务时,怎么选不出数据实体?
- 为什么LinkX-F中xDM-F来源的实例数据的最后更新时间显示与xDM-F中不一致
- 什么是入图调度的数据起止时间和数据分片间隔?
- 聚合服务编排中非纯脚本服务选择入参时,提示错误“初始数据实体必填入参为空,请选择必填入参”?
- 发布聚合服务后生成的API如何调用?
- 调用聚合服务时提示“查找不到该企业用户”
- 为什么操作时提示WSF参数校验失败?
- 描述类信息中输入英文双引号导致系统错误提示
- 全量数据服务API相关问题
- 文档下载
- 通用参考
本文导读
展开导读
链接复制成功!
在本地通用服务器中部署数据建模引擎运行SDK
当您希望将iDME应用以微服务的形式部署到本地通用服务器,可以更好地控制和管理自己的应用数据、减少数据传输的延迟时,可以选择此实施方式进行数据建模引擎运行SDK独立部署。后续,您还可以基于应用运行态灵活扩展,为上层应用提供使用HTTP协议进行通信的API调用能力。
检查SDK包(可选)
为防止数据建模引擎运行SDK包在存储、下载、传输过程中被篡改,建议在部署前检查SDK包是否完整。
您可以使用如下校验函数进行校验,当生成的文件签名与您获取的SDK包文件签名一致时,表示SDK包完整。
public static String getSHA256(File file) { FileInputStream fileInputStream = null; try { MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); fileInputStream = new FileInputStream(file); byte[] buffer = new byte[8192]; int length; while ((length = fileInputStream.read(buffer)) != -1) { messageDigest.update(buffer, 0, length); } return new String(HexUtil.encodeHex(messageDigest.digest())); } catch (Exception ex) { log.error("getSHA256 error.", ex); return null; } finally { try { if (fileInputStream != null) { fileInputStream.close(); } } catch (IOException ex) { log.error("getSHA256 error when close inputStream.", ex); } } }
其中,“MessageDigest”为“java.security”组件,“HexUtil”为“hutool”组件。
操作步骤
如下操作以CentOS 7.6 64位操作系统的ECS为例。
- 登录Linux弹性云服务器。
- 将已获取的SDK包和License文件上传至弹性云服务器,具体操作请参见上传文件到云服务器方式概览。
- 执行如下命令,将SDK包解压缩到部署服务器的工作目录。
tar -xvf {SDK包的名称} -C {部署服务器的工作目录}
例如,将SDK包“TestApp-sdk-default”解压缩到“/root/deploytest”路径下。
tar -xvf TestApp-sdk-default -C /root/deploytest
- 执行如下命令,进入部署服务器的工作目录,例如“/root/deploytest”。
cd /root/deploytest
- 执行如下命令,打开“application.properties”文件。
vim application.properties
- 按i切换至编辑模式,并根据实际的数据建模引擎运行SDK资源规划,按需添加对应资源的配置信息。
如下内容以数据建模引擎运行SDK通用配置和部分数据建模引擎运行SDK自定义配置为例。
# 数据库配置 RDS_IP=127.0.0.1 RDS_PORT=5432 RDS_PASSWORD=admin RDS_TYPE=postgresql RDS_NAME=root RDS_DATABASE=test spring.datasource.url=jdbc:postgresql://${RDS_IP}:${RDS_PORT}/${RDS_DATABASE}?sslmode=require&stringtype=unspecified rdm.hibernate.dialect=com.huawei.it.rdm.configuration.XdmPostgresqlDialect spring.datasource.driverClassName=org.postgresql.Driver rdm.dbType=postgresql # Redis配置 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=admin REDIS_PORT=6379 REDIS_TYPE=SINGLE # 公共信息配置 TENANT_DOMAIN_ID=domainid TENANT_ID=application_id APP_NAME=TestApp APP_IDENTIFIER=application_id PAAS_APP_NAME=testapp PROJECT_ID=projectid RES_AK=testak RES_SK=testsk server.ssl.enabled=false olc.config.path=/root/deploytest/olc xdm.delegate.bean.inject=false server.servlet.context-path=/rdm_testapp_app/services/ java.compile.lib.path=/root/deploytest/lib # MongoDB配置 mongodb.init=true MONGODB_URI=mongodb://rwuser:admin@127.0.0.1:8635/sitautotest?authSource=admin MONGODB_DATABASE=test # Kafka配置 kafka.init=true KAFKA_BOOTSTAP_SERVERS=127.0.0.1:9094, 127.0.0.2:9094 # OBS配置 OBS_END_POINT=https://obs.cn-north-4.myhuaweicloud.com BUCKET_NAME=test # IAM配置 ssf.sysmgr.sessionfilter.loginUrl=https://auth.huaweicloud.com/authui/login.action?service=http://127.0.0.1:8003/rdm_testapp_app/services/v1/cas/login ssf.login.loginSuccessRedirectUrl=http://127.0.0.1:8003/rdm_testapp_app/services/index.html ssf.login.cas.serviceUrl=http://127.0.0.1:8003/rdm_sitautotest_app/services/v1/cas/login ssf.login.logoutUri=https://auth.huaweicloud.com/authui/logout ssf.login.cas.validateUrl=https://auth.huaweicloud.com/authui/serviceValidate IAM_END_POINT=https://iam.cn-north-4.myhuaweicloud.com IAM_LOGIN_ENDPOINT=https://auth.huaweicloud.com # Elasticsearch配置 ES_USERNAME=admin ES_URL=127.0.01:9200 ES_PASSWORD=admin ES_PORT=9200 ES_SCHEMA=http ES_SYNC_ENABLE=true # DEW(KMS)配置 KMS_END_POINT=https://kms.cn-north-4.myhuaweicloud.com KMS_KEY_ID=keyid # AOM配置 AOM_END_POINT=https://aom.cn-north-4.myhuaweicloud.com AOM_CLUSTER_ID=clusterid # License配置 xdm.license.licenseFile=/root/deploytest/test.dat xdm.license.keyFile=/root/deploytest/testKeyFile.txt
其中,“License配置”的License文件路径需与2的存放路径保持一致。
- 按Esc,输入:wq,保存文件并返回。
- 执行如下命令,新建“startxdm.bash”脚本文件。
vi startxdm.bash
- 按i切换至编辑模式,输入以下内容,设置启动应用运行态SDK脚本。
# 指定启动类 START_CLASS=com.huawei.microservice.rdm.RdmApplication # 指定启动类所在路径,为lib目录下 LOAD_CLASSPATH=./lib/*:./ BIND_ADDRESS=`hostname -I` # 从部署包中解压出olc配置文件 jar xvf ./lib/microserviceTemplate.app-1.0.0-SNAPSHOT-small.jar olc # 执行java命令,以配置文件application.properties启动服务,并把日志输入到当前目录下的xdm.log中 sh -c "java -Xms8g -Xmx8g -Dconfig.file=/root/deploytest/application.properties -classpath $LOAD_CLASSPATH $START_CLASS --server.address=${BIND_ADDRESS} -Diit.test=true >xdm.log 2>&1 &"
- 按Esc,输入:wq,保存文件并返回。
- 执行如下命令,设置“startxdm.bash”脚本文件权限。
chmod +x startxdm.bash
- 执行如下命令,启动“startxdm.bash”脚本文件。
./startxdm.bash
- 完成部署后,xDM-F支持如下几种验证方式。您可以根据实际情况选择验证。
- 方式一:查看服务日志
执行如下命令,查看服务日志。
tail -f xdm.log
显示结果为类似如下信息,则说明启动成功。
Started RdmApplication in xxx.xxx seconds (JVM running for xxx.xxx)
- 方式二:调用指定接口
启动“startxdm.bash”脚本文件后,约等待2分钟,调用如下健康检查接口,查询服务是否正常启动。
http://{部署服务器的IP地址}:{部署服务器的端口号}/rdm_{应用的唯一标识}_app/services/v1/health
例如:
http://127.0.0.1:8003/rdm_123456_app/services/v1/health
显示结果为如下信息,则说明启动成功。
{"result":"SUCCESS","data":["success"],"errors":[]}
- 方式三:访问可视化页面
如果您已在数据建模引擎运行SDK资源规划中规划了单点登录的相关资源/云服务,并在部署时配置了单点登录信息,可以选择此方式进行验证。
在浏览器中访问如下地址,查看服务是否启动成功。
http://{部署服务器的IP地址}:{部署服务器的端口号}/rdm_{应用的唯一标识}_app/services/index.html
例如:
http://127.0.0.1:8003/rdm_123456_app/services/index.html
转入应用运行态登录页面,输入登录账号和登录密码,成功登录并进入应用运行态页面,即表示启动成功。
- 方式一:查看服务日志
父主题: 安装数据建模引擎运行SDK