- 聯(lián)邦學習實戰(zhàn)
- 楊強等
- 1017字
- 2021-05-19 18:07:03
4.2 FATE安裝與部署
FATE支持Linux或Mac操作系統(tǒng),目前最新版本為FATE v1.5(2020年10月)。FATE支持單機部署、集群部署和KubeFATE部署三種方式,其中單機部署和集群部署都屬于原生(Native)部署方式,要求開發(fā)人員配置必要的開發(fā)環(huán)境和依賴庫,主要包括JDK 1.8+、Python 3.6、Python virtualenv、MySQL 5.6+、Redis 5.0.2等。注意,F(xiàn)ATE正在不斷的開發(fā)和完善中,版本不同,所依賴的環(huán)境及安裝方法也會發(fā)生改變。要了解最新版本的安裝步驟,可參考FATE的官方文檔(鏈接4-3)。
4.2.1 單機部署
單機部署版本主要是為了幫助開發(fā)人員快速開發(fā)以及測試FATE,比較適合初級開發(fā)者使用。FATE目前支持三種類型的單機安裝,分別是:使用Docker鏡像安裝FATE;在主機中安裝FATE;使用Docker從源代碼中構建FATE。推薦使用Docker鏡像安裝FATE,這樣可以大大降低產生問題的概率。使用Docker鏡像安裝FATE的過程,需要確保下面三點。
? 主機應能夠訪問外部網(wǎng)絡,以便從公共網(wǎng)絡中拉取安裝包和Docker鏡像。
? 安裝依賴Docker和Docker Compose,建議Docker版本為18.09,建議Docker-Compose版本為1.24.0,可以使用以下命令驗證Docker環(huán)境:docker-version和docker-compose-version;Docker的起停和其他操作請參考docker-help。
? 執(zhí)行之前,請檢查8080、9060和9080端口是否已被占用。如果要再次執(zhí)行,請使Docker命令刪除以前的容器和鏡像。Docker安裝的詳細步驟如下所示。

如果讀者想了解其他兩種單機安裝方式,即從主機中安裝和從源代碼中構建,可以自行參考FATE官網(wǎng)提供的單機版安裝步驟來自行安裝(鏈接4-4),這里我們不再詳細介紹。
4.2.2 集群部署
聯(lián)邦學習的場景絕大多數(shù)都是多方參與的大數(shù)據(jù)場景,因此,在產品級落地應用中,F(xiàn)ATE為大數(shù)據(jù)場景提供了分布式運行部署架構版本。從單機部署遷移到集群部署需要更改配置文件。FATE集群部署的環(huán)境要求如圖4-2所示。

圖4-2 FATE集群部署環(huán)境
FATE的集群部署比單機部署復雜,需要安裝的組件包括fate_flow、fateboard、clustermanager、nodemanager、rollsite和mysql,如圖4-3所示。
此外,需要對環(huán)境和參數(shù)進行詳細的設置。考慮到版本的不斷發(fā)展和改進,不同版本的安裝細節(jié)和配置參數(shù)可能會有所不同,因此建議讀者查閱FATE官網(wǎng)的集群安裝步驟(鏈接4-5)來安裝,本書不再單獨介紹。

圖4-3 FATE集群部署需要安裝的組件
4.2.3 KubeFATE部署
FATE的分布式特性使它的部署有一定的復雜性和難度。為了降低開發(fā)人員的部署難度,VMware與微眾銀行聯(lián)合開發(fā)了KubeFATE。KubeFATE使用云原生技術管理FATE集群并處理工作負荷,使用KubeFATE部署的優(yōu)點包括:
? 使用簡單,免除了安裝很多依賴庫的煩惱;
? 配置靈活,按需部署集群;
? 適用于任意的云環(huán)境。
通過KubeFATE,可以使用Docker Compose或者Kubernetes方式部署FATE。同樣地,考慮到后續(xù)版本可能發(fā)生的變化和本書篇幅,讀者可以自行在FATE官網(wǎng)的KubeFATE項目中按照官方教程自行安裝(鏈接4-6),這里不再詳述。