中多台主机免密登录_ubuntu用KuteFATE在多台机器部署联合学习框架FATE——要点

本文详细介绍了如何使用KubeFATE在多台Ubuntu主机上免密登录部署FATE,包括standalone、cluster与KubeFATE的区别、前期准备如docker与docker-compose的安装、SSH免密配置,以及安装过程中的报错处理,如Permission denied、Docker守护进程连接问题和端口占用等常见问题的解决方案。
摘要由CSDN通过智能技术生成

【自己的理解和体验,可能有不对的地方,供新手参考,结合官方教程使用效果更佳】 @[toc]

1. standalone-FATE、cluster-FATE、KubeFATE区别的个人理解

Standalone-FATE: 如字面意思,单击版本的FTAE,适合用来自己学习FATE;

Cluster-FATE: 字面意思是集群FATE,个人感觉更容易的理解是“多个party”联合训练的FATE,我们要进行真正的多台机器联合学习,要部署这种FATE;

KubeFATE: 它是在研发和测试环境下,用来部署集群FATE(Cluster-FATE)的的工具。在多台机器上部署完之后它就没用了;

Kubernetes-FATE: 还没研究过,是生产环境下部署FATE用的,生产环境和研发测试环境还是差异比较大,所以需要的工具也不同。

2. 前期准备

2.1 安装合适版本的docker和docker-compose

可以参考ubutnu安装docker和docker-compose简易命令。

2.2 多台机器之间互相免密码ssh登陆

可以参考:如何实现两台服务器相互免密码登录,服务器之间实现免密登录的简易教程。其他的类似的教程也不少。

2.3 如果当前用户非root用户,需要赋予root权限

可以参考ubuntu给用户sudo权限。

3.用KubeFATE安装FATE步骤

3.1 下载fate的docker镜像

(1)新建文件夹 KubeFATE,下载Docker镜像文件(FATE官方做好的镜像)到文件夹下:

wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate_1.4.0-images.tar.gz

(2)加载镜像

docker load -i fate_1.4.0-images.tar.gz

(3)验证镜像

docker images

如果运行成功,其结果如下图所示:

6b41e897d4494f3acfaa3a2b2b2dbf64.png

3.2 下载并解压 kubefate-docker-compose

curl –L https://github.com/FederatedAI/KubeFATE/releases/download/v1.4.0/kubefate-docker-compose.tar.gz
tar -xzf kubefate-docker-compose.tar.gz

3.3 修改 docker-deploy/partie.conf 配置文件

user=ubuntu   ##你当前的用户名
dir=/home/ubuntu/FATE_party     ##要安装的所有机器上fate安装目录
partylist=(10000 9999)              ##要安装的所有机器的party编号
partyiplist=(1.1.1.110 1.1.1.111)   ##要安装FATE的所有机器的IP地址
servingiplist=(1.1.1.110 1.1.1.111) ##模型预测服务的IP地址,这个我观察基本都是和partylist一样

3.4 执行生成集群启动文件脚本

sudo bash generate_config.sh

3.5 执行启动集群脚本

sudo bash docker_deploy.sh all

3.6 验证是否部署成功

docker exec -it confs-10000_python_1 bash
cd /data/projects/fate/python/examples/toy_example/
python run_toy_example.py 10000 9999 1 ##后面三个整数分别是  运行例子的两个party ID和训练模式——1表示多台机器训练

4.安装过程若干报错处理

我发现每个人遇到的问题都不太一样,但是体会是用搜索搜错误,比github上issue里找答案要靠谱。这里仅仅是我自己遇到的几个问题。

4.1 Permission denied

【现象1】 在安装过程中,当安装程序登陆其他IP机器的时候,需要输入其他机器的密码,输入正确的密码,但是都会报错Permission denied (publickey)。 【原因和解决办法1】 是因为在当前用户下,不同的机器之间不互信。也就是不能在A机器上用ssh登陆B机器。我是找的服务器运维的同事给开的互信。这个在一些商用云服务器上可能没有这个问题。

【现象2】 安装过程中(不是需要输入密码的时候),也会在中间某些行出现。 【原因和解决办法2】 这可能是因为party.conf文件中的 dir 设置到了root下,这时候需要修改dir,使其在当前用户目录下。这种情况一般出现在用户不是root的时候

4.2 Couldn't connect to Docker daemon - you might need to run docker-machine start default

【现象】 最后安装过程中,当运行子命令 dorker-compose up -d或者运行 docker-compose down的时候,会出现报错。

【原因和解决办法】 原因是当前用户没有root权限。解决办法是给当前用户root权限。

4.3 Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use

【现象】 安装过程中出现。

【原因和解决办法】 有时候,一次运行不成功,会反复安装。这样有时候前面的容器或者进程占用端口。解决办法是找到这个端口,然后杀死程序,重新安装,这个参考了stackoverflow上的一个回答。

docker stop $(docker ps -a -q)
docker ps # again to make sure containers is off
sudo lsof -i tcp:8080 # now you get and list of process running and using 8080 port find and copy PID
sudo kill -9 yout_PID
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值