前置条件:请在IOT2.1.0版本部署完成后,执行本文档;IOT不提供人大金仓数据库安装,默认已有人大金仓数据库连接信息
1 初始化数据库
1.1 以navicat为例,展示如何初始化数据
1.1.1 使用PostgreSQL驱动,填写人大金仓数据库连接信息(初始数据库一般为kingbase),连接人大金仓数据库

1.1.2 在对应数据库的public模式上,右键新建查询,粘贴sql语句,全选sql语句,点击运行以选择的

1.2 在人大金仓初始数据库(一般为kingbase)中,执行create_databases.sql文件中的sql语句创建数据库
注意:create_databases.sql文件中,root 为数据库用户名,请根据实际情况进行全局替换
1.3 在cas_server数据库中,执行cas_server.sql文件中的sql语句
注意:cas_server.sql文件中,10.60.16.29 需要全局替换为部署IoT服务器的ip地址,若为集群部署全局替换为VIP地址(不是人大金仓数据库的IP地址)
1.4 在authority数据库中,执行authority.sql文件中的sql语句
1.5 在system_service数据库中,根据部署模式,选择执行下列sql文件中的sql语句
1.5.1 若IOT为单机部署,执行此步骤
注意:system_service.sql文件中,10.60.16.29 需要全局替换为部署IoT服务器的ip地址(不是人大金仓数据库的IP地址)
1.5.2 若IOT为集群部署,执行此步骤
注意:system_service_cluster.sql文件中,10.60.16.29(节点1服务器ip)、 10.60.16.30(节点2服务器ip)、10.60.16.31(节点3服务器ip),需要分别全局替换为集群中三台服务器的ip地址。10.60.16.200 需要替换为VIP
(不是人大金仓数据库的IP地址)
1.6 nacos调整(若IOT为单机部署,跳过此步)
1.6.1 若IOT为集群部署,执行以下命令更新nacos镜像
# 请根据实际情况,替换安装包路径: /root/hiper-matrix-linux-offline-installer-release-v2.1.1
docker load -i /root/hiper-matrix-linux-offline-installer-release-v2.1.1/packages/kingbase/nacos-kingbase.tar
1.6.2 在nacos_config数据库中,执行nacos-kingbase.sql文件中的sql语句
2. 修改/usr/local/hvisions/iot/config/system-config配置
2.1 执行 /usr/local/hvisions/iot/script/kingbase/update-system-config.sh 脚本,修改system-config 文件
请根据下图红框,检查对应项是否替换正确,若不正确,请手动修改

2.2 请根据实际情况手动修改/usr/local/hvisions/iot/config/system-config文件中的以下配置
# 是否使用外部数据库,如果设置为true,填写外部数据库的地址,端口,用户名和密码
DB_EXTERNAL=true # 人大金仓数据库必须改为true
# 数据库的地址,填写数据库的ip地址,如192.168.1.100
DB_HOST=192.168.10.84 # 人大金仓数据库地址
# 端口
DB_PORT=54321 # 人大金仓数据库端口
# 用户名
DB_USERNAME=root # 人大金仓数据库用户名
# 密码
DB_PASSWORD=hVisionS2 # 人大金仓数据库密码
3. 执行 /usr/local/hvisions/iot/script/kingbase/ds_kingbase.sh 脚本,该脚本功能为增加各服务的启动环境配置,如遇见报错属于异常现象,例如可检查edge-management服务的配置文件 /usr/local/hvisions/iot/services/edge-management/start-options ,若开头有如下配置代表添加成功
-Dspring.datasource.dynamic.enabled=false
-Dspring.datasource.driver-class-name=com.kingbase8.Driver
-Dspring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Kingbase8Dialect
-Dspring.jpa.hibernate.ddl-auto=update
-Dsetting.datasource=PostgreSQL

4. 执行 /usr/local/hvisions/iot/services/start-all-services.sh 脚本,重启所有服务(等待服务启动完成,约10分钟后,执行下一步)
5. 执行 /usr/local/hvisions/iot/script/kingbase/importMenu.sh 脚本,导入菜单。