
# 实施步骤
#### 操作场景
本文以CentOS 7.6 64位操作系统的华为云弹性云服务器（Elastic Cloud Server，简称ECS）为例，基于智能边缘小站（CloudPond）部署工业数字模型驱动引擎（Industrial Digital Model Engine，简称iDME）服务。
#### 步骤1：登录云服务器
登录待部署iDME的云服务器，具体操作请参见[Linux弹性云服务器登录方式概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771089.html)。
#### 步骤2：挂载文件系统
1. 执行如下命令，在云服务器上挂载SFS Turbo文件系统。 
   ```
   mount -t nfs -o vers=3,nolock 云服务器弹性公网IP地址:/ /mnt/sfs_turbo
   ```
   
   
2. 执行如下命令，赋予执行权限。 
   ```
   chmod +x /etc/rc.d/rc.local
   ```
   
   
3. 执行如下命令，打开并编辑rc.local配置文件。 
   ```
   vim /etc/rc.d/rc.local
   ```
   
   
4. 按"i"切换至编辑模式，并在最后一行添加如下命令。 
   ```
   mount -t nfs -o vers=3,nolock 云服务器弹性公网IP地址:/ /mnt/sfs_turbo
   ```
   
   
5. 按"Esc"，输入":wq"，保存文件返回。
 
#### 步骤3：安装JDK
1. 下载JDK 1.8版本的源码包，您可前往[Java SE 下载](https://www.oracle.com/technetwork/java/javase/downloads/index.html)页面选择需要的版本。
   
   建议先将JDK源码包下载到本地，再上传至云服务器，否则会出现解压错误。具体操作请参见[上传文件到云服务器方式概览](https://support.huaweicloud.com/ecs_faq/ecs_faq_0049.html)。
   
   
2. 执行如下命令，新建JDK安装目录。 
   例如，JDK安装目录为"/opt/cloud/tenant-service"。
   ```
   mkdir /opt/cloud/tenant-service
   ```
   
   
3. 执行如下命令，将JDK源码包解压到指定位置。 
   例如，将JDK源码包解压到"/opt/cloud/tenant-service"路径下。
   ```
   tar -xvf jdk-8u221-linux-x64.tar.gz -C /opt/cloud/tenant-service
   ```
   
   
4. 执行如下命令，打开profile文件。 
   ```
   vim /etc/profile
   ```
   
   
5. 按"i"切换至编辑模式，根据您实际使用的JDK版本，在底部添加以下内容。 
   ```
   #set java environment 
   JAVA_HOME=/opt/cloud/tenant-service/jdk/jdk-18.0.x（您的JDK版本） 
   JRE_HOME=$JAVA_HOME PATH=$JAVA_HOME/bin:$PATH 
   CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar 
   export JAVA_HOME JRE_HOME PATH CLASSPATH
   ```
   
   
6. 按"Esc"，输入":wq"，保存文件并返回。
7. 执行如下命令，读取环境变量。 
   ```
   source /etc/profile
   ```
   
   
8. 执行如下命令，查看JDK是否已经安装成功。 
   ```
   java -version
   ```
   返回如下回显信息，则表示安装成功。
   ```
   [root@ecs-c525-web ~]# java -version java version "18.0.3" 2022-01-18 LTS Java(TM) SE Runtime Environment (build 18.0.3+8-LTS-86) Java HotSpot(TM) 64-Bit Server VM (build 18.0.3+8-LTS-86, mixed mode, sharing)
   ```
   
   
 
#### 步骤4：配置iDME启动脚本
1. 执行如下命令，打开并编辑新创建的startxdm.bash配置文件。 
   ```
   vim startxdm.bash
   ```
   
   
2. 按"i"切换至编辑模式，将如下内容复制至startxdm.bash中，并将相关参数修改为您实际业务中的参数。 
   ```
   # 应用名
   export APP_NAME=Demo
   # 应用ID：格式（rdm_${应用ID}_app）
   export application_subAppId=rdm_01a2b2c4764d4e00f123g345fd9baa9f_app
   export BUCKET_NAME=bucket1
   export CDM_CLUSTER_ID=67ad4594-d3a2-4c96-a40b-123a4bc5****
   export CDM_END_POINT=http://cdm.cn-south-1.myhuaweicloud.com
   export ES_PASSWORD=**********
   # CSS端口号
   export ES_PORT=9200
   export ES_SCHEMA=http
   # CSS的IP地址
   export ES_URL=192.168.50.22,192.168.50.23,192.168.50.25
   # CSS用户名
   export ES_USERNAME=admin
   export IAM_END_POINT=http://iam.cn-south-4.myhuaweicloud.com:31943
   # KAFKA集群信息
   export KAFKA_BOOTSTRAP_SERVERS=192.168.50.13:9092,192.168.50.14:9092,192.168.50.15:9092
   export MONGODB_DATABASE=demoMongdb
   # MongoDB连接URL
   export MONGODB_URI=mongodb://192.168.50.19:27017,192.168.50.20:27017,192.168.50.21:27017
   export MONGODB_INIT=false
   export OBS_BUCKET_NAME=bucket1
   export OBS_END_POINT=http://192.168.1.94:9000
   export PROJECT_ID=0dc1a5fc3700d4b82f0ec1234f56****
   # 数据库
   export RDS_DATABASE=dme
   # 数据库连接IP
   export RDS_IP=192.168.50.104
   # 数据库连接密码
   export RDS_PASSWORD=************
   # 数据库端口号
   export RDS_PORT=5432
   # 数据库类型
   export RDS_TYPE=postgresql
   # Redis连接IP地址
   export REDIS_HOST=192.168.50.201
   # Redis密码
   export REDIS_PASSWORD=********
   # Redis端口
   export REDIS_PORT=6379
   export RES_AK=IJNHPNTX4TO6JHHZ****
   export RES_SK=5LWOUtqyb3aGYmjyoQiDR8YG2Y0w8M9A6K0R****
   # 是否开启https
   export HTTPS_AUTH=false
   # 忽略证书
   export IIT_IGNORE_HTTPS_VERIFY=true
   export rdm_dbType=postgresql  
   export iit_interceptors_auth_enable=false
   export rdm_hibernate_dialect=com.huawei.it.rdm.configuration.XdmPostgresqlDialect
   export debug=true
   export server_port=8005 
   export server_ssl_enabled=false 
   export spring_datasource_driverClassName=org.postgresql.Driver
   export spring_datasource_druid_master_url=jdbc:postgresql://${RDS_IP}:${RDS_PORT}/${RDS_DATABASE}?stringtype=unspecified
   export spring_datasource_druid_slave_url=jdbc:postgresql://${RDS_IP}:${RDS_PORT}/${RDS_DATABASE}?stringtype=unspecified
   export spring_datasource_username=root 
   export spring_profiles_active=impl
   export application_tenantId=rdm_01a2b2c4764d4e00f123g345fd9baa9f_app
   export server_servlet_context_path=/rdm_01a2b2c4764d4e00f123g345fd9baa9f_app/services
   export spring_redis_database=10
   export IAM_LOGIN_ENDPOINT=test
   # 文件系统类型
   export FILE_STORAGE_TYPE=SFS
    
   #nohup java -Diit.test=true  -jar microserviceTemplate.app-1.0.0-SNAPSHOT.jar >xdm.log 2>&1 &
    
   START_CLASS=com.huawei.microservice.rdm.RdmApplication
   PROCESS_PATH=/opt/cloud/tenant-service
   LOAD_CLASSPATH=./lib/*:./
    
   # 启动类
   cd $PROCESS_PATH
   BIND_ADDRESS=`hostname -I`
   java -classpath $LOAD_CLASSPATH $START_CLASS --server.address=${BIND_ADDRESS} -Diit.test=true  >xdm.log 2>&1 &
   ```
   
   
3. 按"Esc"，输入":wq"，保存文件并返回。
4. 执行如下命令，赋予执行权限。 
   ```
   chmod +x startxdm.bash
   ```
   
   
5. 执行如下命令，打开并编辑rc.local配置文件。 
   ```
   vim /etc/rc.d/rc.local
   ```
   
   
6. 按"i"切换至编辑模式，并在最后一行添加如下命令。 
   ```
   /opt/cloud/tenant-service/startxdm.bash
   ```
   
   
7. 按"Esc"，输入":wq"，保存文件返回。
8. 执行如下命令，运行startxdm.bash配置文件。 
   ```
   /opt/cloud/tenant-service/startxdm.bash
   ```
   
   
9. 执行如下命令，查看是否存在iDME进程。 
   ```
   jps -l | grep com.huawei.microservice.rdm.RdmApplication
   ```
   返回类似如下回显信息，则表示安装成功。
   ![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001439106760.png "点击放大")
   
   
 
#### 步骤5：验证iDME服务
调用任意查询接口（例如TypeDefinition查询接口），如正常调用，则表示部署成功。
