众智AI协同训练平台部署文档
本文档包括平台和链相关部分,平台部分采用Docker方式统一部署,可以独立运行,如果需要和链同时运行,需要修改配置参数。
平台部分采用Docker Componse方式部署,链同样采用Docker方式部署,分布式文件系统采用直接部署的方式。
平台部署
docker-compose部分是独立整理,通过将源代码编译后的软件包复制到此目录,即可通过docker-compose编译运行。
本仓库的data目录为数据库的目录,因此建议此目录至于文件空间较大的分区,100GB+即可。
系统部署结构
web
^
|
apiserver --> database <-- aiserver
^ ^
| |
grpcserver ----------
^ | |
| | |
proxy... --> aiclient --> aiagent
// 基本构建命令
docker-compose build
// 运行命令
docker-compose up -d
// 全部停止命令
docker-compose down
// 查看容器情况
docker-compose ps
// 查看特定容器日志
// -f参数表示持续监听文件结尾
// -n参数表示显示现有文件行数,尽量带上,确实查看所有日志文件,可能过大
docker-compose logs -fn100 <容器名称或ID>
web
web采用vue开发,需要在安装有node.js和npm的机器上编译。编译发布流程如下:
- 采用npm run build命令进行构建,如果初次构建还需要通过npm install命令安装响应的包。如果安装较慢,可以设置镜像。
- 将软件目录下的dist目录下的index.html favion.ico static 打包,例如jointai20xxxxxx.zip
- 将打包好的编译文件上传到服务器的web/html目录下进行解压,命令为unzip jointai20xxxxxx.zip
- 如果为首次构建,则直接在项目目录执行docker-compose build进行编译
apiserver
apiserver采用Java开发、Gradle构建,在pccbRestServer仓库下,需要在安装有JDK8的环境中构建,推荐采用Idea J社区版本构建,直接打开,并执行IDE右侧的build任务即可构建,目标jar文件在相应的目录的BackendManageService/build/libs目录下。
aiserver
aiserver采用Java开发、Gradle构建,在pccbRestServer仓库下,需要在安装有JDK8的环境中构建,推荐采用Idea J社区版本构建,直接打开,并执行IDE右侧的build任务即可构建,目标jar文件在响应的目录的AIModuleService/build/libs目录下。
grpcserver
grpcserver采用Java开发、Gradle构建,需要在安装有JDK8的环境中构建,推荐采用Idea J社区版本构建,直接打开,并执行IDE右侧的build任务即可构建,目标jar文件在响应的目录的build/libs目录下。
proxy
proxy采用Go lang开发,需要响应的Go lang环境,具体参加源代码的ReadMe.md文件进行构建。