diff --git a/README.md b/README.md index c766b65..215ed5f 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,10 @@ AnsibleFATE deploys FATE clusters via Ansible. AnsibleFATE provides scripts to optimize the process of deployment configuration. It helps users to quickly complete the deployment operations. +## Download + +See [wiki](https://github.com/FederatedAI/FATE/wiki/Download). + ## Project structure ```` diff --git a/README_zh.md b/README_zh.md index 8dccd9b..eb18209 100644 --- a/README_zh.md +++ b/README_zh.md @@ -2,7 +2,11 @@ ## 总览 -AnsibleFATE 支持通过Ansible进行部署FATE集群。我们提供了辅助脚本,优化部署配置的过程,有助于用户快速完成部署操作。部署是一件简单的事。 +AnsibleFATE 支持通过 Ansible 进行部署 FATE 集群。我们提供了辅助脚本,优化部署配置的过程,有助于用户快速完成部署操作。 + +## 下载 + +参见 [wiki](https://github.com/FederatedAI/FATE/wiki/Download)。 ## 项目结构 diff --git a/docs/ansible_deploy_FATE_manual.md b/docs/ansible_deploy_FATE_manual.md index 1df50da..ffc49c4 100644 --- a/docs/ansible_deploy_FATE_manual.md +++ b/docs/ansible_deploy_FATE_manual.md @@ -40,9 +40,7 @@ - [2.6 部署流程](#26-部署流程) - [2.6.1 下载](#261-下载) - [2.6.1.1 下载离线包](#2611-下载离线包) - - [2.6.1.2下载非离线包](#2612下载非离线包) - - [2.6.1.3 按需下载模块的资源包](#2613-按需下载模块的资源包) - - [2.6.1.4 按需自编译模块的资源包](#2614-按需自编译模块的资源包) + - [2.6.1.2 下载在线包](#2612-下载在线包) - [2.6.2 使用初始化脚本生成部署配置文件](#262-使用初始化脚本生成部署配置文件) - [2.6.3 调整参数并生成ansible配置文件](#263-调整参数并生成ansible配置文件) - [2.6.4 执行ping测试(可选)](#264-执行ping测试可选) @@ -68,7 +66,6 @@ - ### 1概述 #### 1.1 FATE简介 @@ -78,12 +75,9 @@ FATE (Federated AI Technology Enabler) 是微众银行AI部门发起的开源项 FATE官方网站:https://fate.fedai.org/ - 本文将介绍使用通过Ansible进行部署FATE集群。我们提供了辅助脚本,优化部署配置的过程,有助于用户快速完成部署操作。部署是一件简单的事。。 - - ### 2 部署手册 #### 2.1 环境依赖 @@ -94,7 +88,6 @@ FATE官方网站:https://fate.fedai.org/ | 软件组件 | fate eggroll fateboard mysql | - #### 2.2 依赖条件和前置操作 假定是以普通账号(app账号)进行部署,部署Base模块则需要root权限(假定app账号具有免输入密码的sudo权限)。部署的目标为: ${pbase}/fate目录下。这里假定: @@ -108,7 +101,6 @@ FATE官方网站:https://fate.fedai.org/ 前置操作请参考: <<[部署fate集群的前置操作](action_before_deploy_fate_cluster.md)>> 一文。 - #### 2.3 组件信息 | 角色 | 端口 | 日志目录 | 介绍 | @@ -121,7 +113,6 @@ FATE官方网站:https://fate.fedai.org/ | mysql | 3306 | /data/logs/mysql/ | 数据存储,clustermanager和fateflow依赖 | - #### 2.4 基本概念与原理 ##### 2.4.1 版本和部署包形态 @@ -129,12 +120,12 @@ FATE官方网站:https://fate.fedai.org/ - 版本:大于等于1.7.0 - 离线包: 可以直接进行部署的包。 - - 部署包名称:`AnsibleFATE_${version}_release-offline.tar.gz` - - 部署包根目录名称:`AnsibleFATE-${version}-release-offline` -- 在线包: 部署的包,但不包括模块的资源包,不能直接进行部署。 可通过下载资源包(参考2.6.1.3一节),组装成离线包。 + - 部署包名称:`AnsibleFATE_${version}_release_offline.tar.gz` + - 部署包根目录名称:`AnsibleFATE_${version}_release_offline` - - 部署包名称: `AnsibleFATE_${version}_release-online.tar.gz` - - 部署包根目录名称: `AnsibleFATE-${version}-release-online` +- 在线包: 部署的包,但不包括模块的资源包,不能直接进行部署。 可通过下载资源包(参考2.6.1.3一节),组装成离线包。 + - 部署包名称: `AnsibleFATE_${version}_release_online.tar.gz` + - 部署包根目录名称: `AnsibleFATE_${version}_release_online` ##### 2.4.2 部署流程 @@ -142,7 +133,6 @@ FATE官方网站:https://fate.fedai.org/ - 进行部署 -​ ##### 2.4.3 部署形态 @@ -164,7 +154,6 @@ FATE官方网站:https://fate.fedai.org/ | spark | host、guest | mysql、fate_flow、fateboard、rabbitmq | - ##### 2.4.5 配置模块组件 - 简单模式 @@ -203,7 +192,6 @@ FATE官方网站:https://fate.fedai.org/ ​ 本节内容适用于后端引擎为非spark的场景。 - ##### 2.4.7 路由支持 ​ 本节内容适用于后端引擎为非spark的场景。 @@ -227,7 +215,6 @@ FATE官方网站:https://fate.fedai.org/ ​ 支持ip也支持域名。 - ##### 2.4.8 证书支持 ​ 本节内容目前仅适用于后端引擎为非spark的场景。 @@ -249,7 +236,6 @@ FATE官方网站:https://fate.fedai.org/ - spark只有host&guest场景适用 - #### 2.5 辅助脚本和配置文件 ##### 2.5.2 部署辅助脚本和部署配置文件 @@ -278,7 +264,6 @@ Usage: deploy/deploy.sh -h|-g|-e|-m|-k ``` - ###### 2.5.2.2 使用部署辅助脚本进行初始化 - 生成部署配置文件 @@ -329,7 +314,6 @@ bash deploy/deploy.sh init [-g|-h|-e|-m|-k|-n] ``` - - 使用部署辅助脚本生成ansible配置文件 ``` @@ -337,7 +321,6 @@ bash deploy/deploy.sh render ``` - ###### 2.5.2.3 使用部署辅助脚本生成证书 - 使用以下命令生产同一个ca的的证书 @@ -347,7 +330,6 @@ bash deploy/deploy.sh render ``` - - 按需使用以下命令生产不同ca的的证书 ``` @@ -358,8 +340,6 @@ bash deploy/deploy.sh render ``` - - ###### 2.5.2.4 使用部署辅助脚本进行部署或卸载 /bin/bash deploy/deploy.sh deploy|install|config|uninstall @@ -391,7 +371,6 @@ modules: //调整需要部署或卸载的模块 ``` - - 查看部署、卸载日志 ``` @@ -400,7 +379,6 @@ tailf logs/uninstall-??.log ---卸载服务的日志,执行卸载命令会 ``` - ###### 2.5.2.5 配置文件场景示例 - **spark引擎部署配置文件** @@ -500,7 +478,6 @@ tailf logs/uninstall-??.log ---卸载服务的日志,执行卸载命令会 ``` - - **部署配置文件讲解参数说明:** ``` @@ -542,8 +519,6 @@ tailf logs/uninstall-??.log ---卸载服务的日志,执行卸载命令会 ``` - - - **场景1:单部署host** 命令: `sh deploy/deploy.sh init -h="10000:192.168.0.1"` @@ -797,8 +772,6 @@ tailf logs/uninstall-??.log ---卸载服务的日志,执行卸载命令会 ``` - - ##### 2.5.3 ansible配置文件 ###### 2.5.3.1 配置base信息 @@ -845,7 +818,6 @@ supervisord: ``` - ###### 2.5.3.2 配置fate基础信息 涉及各个组件的版本。 @@ -937,7 +909,6 @@ exchange: ``` - ###### 2.5.3.4 配置Host信息 按需修改,不部署则跳过此步骤 @@ -1130,7 +1101,6 @@ host: ``` - ###### 2.5.3.5 配置Guest信息 按需修改,不部署则跳过此步骤 @@ -1323,7 +1293,6 @@ guest: ``` - ###### 2.5.3.6 配置任务列表 修改文件:(默认不需要修改) @@ -1382,7 +1351,6 @@ spark引擎场景配置project_prod.yaml内容如下: ``` - ###### 2.5.3.7 配置主机列表 修改文件:(默认不需要修改) @@ -1426,25 +1394,43 @@ ansible_become_pass= ###### 2.6.1.1 下载离线包 +```bash +wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/${version}/release/AnsibleFATE_${version}_release_offline.tar.gz +tar xzf AnsibleFATE_${version}_release_offline.tar.gz +cd AnsibleFATE_${version}_release_offline +``` + +- `$version >= 1.7.0`,各版本下载链接可在 [wiki](https://github.com/FederatedAI/FATE/wiki/Download) 查看 + - 离线包解压后初始化配置后可直接部署 -``` -wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/${version}/release/AnsibleFATE_${version}_release-offline.tar.gz -tar xzf AnsibleFATE_${version}_release-offline.tar.gz -cd AnsibleFATE-${version}-release-offline +- 离线包与在线包的唯一区别是在线包缺少部分不常更新的大文件,可按需下载 -//version>=1.7.0,按需设置 +###### 2.6.1.2 下载在线包 + +``` +wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/${version}/release/AnsibleFATE_${version}_release_online.tar.gz +tar xzf AnsibleFATE_${version}_release_online.tar.gz +cd AnsibleFATE_${version}_release_online ``` +- `$version >= 1.9.0` -###### 2.6.1.2下载在线包 +- 按需下载文件,全部下载后的在线包与离线包的目录结构完全一致 -``` -wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/${version}/release/AnsibleFATE_${version}_release-online.tar.gz -tar xzf AnsibleFATE_${version}_release-online.tar.gz -cd AnsibleFATE-${version}-release-online +- 更新在线包时,只需直接解压覆盖原有文件,下列文件如无更新,可不再下载 -//version>=1.7.0 +```bash +# 必需 +wget -P roles/python/files https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/resources/Miniconda3-py38_4.12.0-Linux-x86_64.sh +# fateflow 和 eggroll 需要 +wget -O roles/python/files/pypi.tar.gz https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/${version}/release/pip_packages_fate_${version}.tar.gz +# fateboard 和 eggroll 需要 +wget -P roles/java/files https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/resources/jdk-8u192.tar.gz +# fateflow 和 eggroll 都需要连接数据库,fateboard 不需要数据库 +wget -P roles/mysql/files https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/resources/mysql-8.0.28.tar.gz +# 按需 +wget -P roles/rabbitmq/files https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/resources/rabbitmq-server-generic-unix-3.9.14.tar.xz ``` @@ -1464,7 +1450,6 @@ Usage: /bin/bash deploy/deploy.sh init -h|-g|-e|-m|-k ``` - ##### 2.6.3 调整参数并生成ansible配置文件 - 手工修改配置文件 @@ -1480,7 +1465,6 @@ vi deploy/conf/setup.conf ``` - ##### 2.6.4 执行ping测试(可选) ``` @@ -1488,7 +1472,6 @@ vi deploy/conf/setup.conf ``` - ##### 2.6.5 生成证书(可选) ``` @@ -1500,7 +1483,6 @@ vi deploy/conf/setup.conf ``` - ##### 2.6.6 执行部署(按需) ``` @@ -1508,7 +1490,6 @@ vi deploy/conf/setup.conf ``` - ##### 2.6.7 检查服务 详看2.7.1一节。 @@ -1555,7 +1536,6 @@ lsof -i :9370 ``` - ##### 2.7.2 Toy_example部署验证 ----------------------- @@ -1601,7 +1581,6 @@ flow test toy -gid 9999 -hid 10000 "2020-04-28 18:26:20,789 - secure_add_guest.py[line:126] - INFO: success to calculate secure_sum, it is 1999.9999999999998" - ##### 2.7.3 最小化测试 -------------- @@ -1611,8 +1590,7 @@ flow test toy -gid 9999 -hid 10000 ``` source /data/projects/fate/bin/init_env.sh -cd /data/projects/fate/examples/scripts/ -python upload_default_data.py +fate_test data upload -t min_test ``` 更多细节信息,敬请参考[脚本README](../../../../examples/scripts/README.rst) @@ -1646,7 +1624,6 @@ python run_task.py -gid 9999 -hid 10000 -aid 10000 -f fast 只需在命令中将“fast”替换为“normal”,其余部分与快速模式相同。 - #### 2.8 服务运维 **服务管理** @@ -1679,7 +1656,6 @@ bash service.sh start/stop/status fate-clustermanager | fateboard | fateboard | /data/logs/fate/fateboard/ | - ### 3 特定操作指引 #### 3.1 使用自签证书 @@ -1716,7 +1692,6 @@ bash /data/projects/common/supervisord/service.sh restart fate-rollsite ``` - #### 3.2 单边部署使用证书场景 部署单边的情况,也支持配置证书。 用脚本只产生一方的证书。然后服务端和客户端的设置使用这个证书。 部署完成之后,用户手工按需替换其他证书 @@ -1735,7 +1710,6 @@ bash /data/projects/common/supervisord/service.sh restart fate-rollsite ``` - 2)部署单边exchange(假设证书方为exchange-host) ``` @@ -1748,7 +1722,6 @@ bash /data/projects/common/supervisord/service.sh restart fate-rollsite ``` - #### 3.3 mysql使用外部数据库 1)使用root登录数据库授权内网root所有人访问(没有root用户,使用有管理权限的账号登陆)