4.2 FATE安装与部署
FATE支持Linux或Mac操作系统,目前最新版本为FATE v1.5(2020年10月)。FATE支持单机部署、集群部署和KubeFATE部署三种方式,其中单机部署和集群部署都属于原生(Native)部署方式,要求开发人员配置必要的开发环境和依赖库,主要包括JDK 1.8+、Python 3.6、Python virtualenv、MySQL 5.6+、Redis 5.0.2等。注意,FATE正在不断的开发和完善中,版本不同,所依赖的环境及安装方法也会发生改变。要了解最新版本的安装步骤,可参考FATE的官方文档(链接4-3)。
4.2.1 单机部署
单机部署版本主要是为了帮助开发人员快速开发以及测试FATE,比较适合初级开发者使用。FATE目前支持三种类型的单机安装,分别是:使用Docker镜像安装FATE;在主机中安装FATE;使用Docker从源代码中构建FATE。推荐使用Docker镜像安装FATE,这样可以大大降低产生问题的概率。使用Docker镜像安装FATE的过程,需要确保下面三点。
• 主机应能够访问外部网络,以便从公共网络中拉取安装包和Docker镜像。
• 安装依赖Docker和Docker Compose,建议Docker版本为18.09,建议Docker-Compose版本为1.24.0,可以使用以下命令验证Docker环境:docker-version和docker-compose-version;Docker的起停和其他操作请参考docker-help。
• 执行之前,请检查8080、9060和9080端口是否已被占用。如果要再次执行,请使Docker命令删除以前的容器和镜像。Docker安装的详细步骤如下所示。
如果读者想了解其他两种单机安装方式,即从主机中安装和从源代码中构建,可以自行参考FATE官网提供的单机版安装步骤来自行安装(链接4-4),这里我们不再详细介绍。
4.2.2 集群部署
联邦学习的场景绝大多数都是多方参与的大数据场景,因此,在产品级落地应用中,FATE为大数据场景提供了分布式运行部署架构版本。从单机部署迁移到集群部署需要更改配置文件。FATE集群部署的环境要求如图4-2所示。
图4-2 FATE集群部署环境
FATE的集群部署比单机部署复杂,需要安装的组件包括fate_flow、fateboard、clustermanager、nodemanager、rollsite和mysql,如图4-3所示。
此外,需要对环境和参数进行详细的设置。考虑到版本的不断发展和改进,不同版本的安装细节和配置参数可能会有所不同,因此建议读者查阅FATE官网的集群安装步骤(链接4-5)来安装,本书不再单独介绍。
图4-3 FATE集群部署需要安装的组件
4.2.3 KubeFATE部署
FATE的分布式特性使它的部署有一定的复杂性和难度。为了降低开发人员的部署难度,VMware与微众银行联合开发了KubeFATE。KubeFATE使用云原生技术管理FATE集群并处理工作负荷,使用KubeFATE部署的优点包括:
• 使用简单,免除了安装很多依赖库的烦恼;
• 配置灵活,按需部署集群;
• 适用于任意的云环境。
通过KubeFATE,可以使用Docker Compose或者Kubernetes方式部署FATE。同样地,考虑到后续版本可能发生的变化和本书篇幅,读者可以自行在FATE官网的KubeFATE项目中按照官方教程自行安装(链接4-6),这里不再详述。