提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言:
一、下载KubeFATE,docker,docker-compose:
1.在这个链接里找到你要的版本,下载,解压,放到服务器里去。如下图所示:
2.让两台服务器免密通信:
3.安装docker与docker-compose
二、配置部分:
1.修改镜像配置文件(可选)
2.手动下载镜像(可选)
2.1下图是简易版的,但是,我没找到匹配1.7.2的,我用的是2.2的方法。下图链接:
2.2找不到fate_1.7.2-images.tar.gz
3.修改 docker-deploy/partie.conf 配置文件
三.后续配置,参考官方教程:
总结:
前言:
用于两台服务器上搭建框架(192.168.29.197(部署机);192.168.29.222(目标机))
一、下载KubeFATE,docker,docker-compose:
1.在这个链接里找到你要的版本,下载,解压,放到服务器里去。如下图所示:
Releases · FederatedAI/KubeFATE · GitHub
2.让两台服务器免密通信:
安装ssh服务:(用yum还是apt-get和虚拟机的类型有关)
yum install openssh-server
#安装完成之后继续在命令行输入
ps -e | grep ssh
只要出现那个sshd就可以了
如果未显示相关的ssh,可以通过启动命令,启动ssh服务(这个部分摘抄其他大佬的,有点多)
启动命令
/etc/init.d/ssh start
重启命令
/etc/init.d/ssh restart
或者
service sshd restart
关闭命令
/etc/init.d/ssh stop
或者
service sshd stop
先登录另一台服务器(222):
ssh root@192.168.29.222
此处的root指的是你需要远程登录的用户名,后面跟着的是主机IP地址
运行命令之后,你很可能遭遇:
运行命令之后,你很可能遭遇:
root@ubuntu:~# ssh root@192.168.29.222
root@192.168.29.222's password:
Permission denied, please try again.
root@192.168.29.222's password:
不用担心,接下来我们去配置一些文件就可以进行远程连接了。输入命令:
桌面版的可以输入
gedit /etc/ssh/sshd_config
也可以输入
vim /etc/ssh/sshd_config
输入完成之后,你会打开一个文件修改其中如下几项:
PermitRootLogin yes
PasswordAuthentication yes
ChallengeResponseAuthentication yes
保证这几行取消了注释,并且为yes(如下图所示)
OK,保存文件,重启ssh服务,再次输入远程登录命令,回车即可远程登录。
当然,你也可以选择选择无密登录,需要你互相将两台机器的秘钥文件复制给对方。生成秘钥的命令:
ssh-keygen -t rsa
(四连回车)
如下(类似)即成功:
+---[RSA 2048]----+
|+o .+oo.... o |
|B= +.ooo... = |
|=oX oo. o .= |
|.B.+. .. oo . |
|*o. o S . |
|*. +. |
|o.+ . |
|o. |
|E |
+----[SHA256]-----+
然后
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
然后授权
chmod 600 ~/.ssh/authorized_keys
此时你可以尝试免密登录自己的机器,刷~,就成功了
但是此时你还是只能登录自己的机器,如果需要双向登录,那么就开始传输你们的秘钥吧。(这步,我没成果,但是我在222上把刚才的操作来了一遍,使得197和222都可以免密登录了)
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.29.197
成功免密登录如下:
3.安装docker与docker-compose
snap安装命令
snap install docker
验证是否安装成功
sudo docker run hello-world
装compose很简单:
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
下载完成后还需要赋予docker-compose可执行的权限,
chmod +x /usr/local/bin/docker-compose
运行:docker --version;docker-compose --version(如下图所示)
二、配置部分:
1.修改镜像配置文件(可选)
在默认情况下,脚本在部署期间会从 Docker Hub中下载镜像。
对于中国的用户可以用使用国内镜像源: 具体方法是通过编辑docker-deploy目录下的.env文件,给RegistryURI
参数填入以下字段:
RegistryURI=hub.c.163.com
2.手动下载镜像(可选)
2.1下图是简易版的,但是,我没找到匹配1.7.2的,我用的是2.2的方法。下图链接:
2.2找不到fate_1.7.2-images.tar.gz
#注意,前三个的version是1.7.2,那三个sever的是2.0.4
#这些版本号。如何确定?,见下图:
docker pull federatedai/eggroll:<version>-release
docker pull federatedai/fateboard:<version>-release
docker pull federatedai/python:<version>-release
docker pull federatedai/serving-server:<version>-release
docker pull federatedai/serving-proxy:<version>-release
docker pull federatedai/serving-admin:<version>-release
docker pull bitnami/zookeeper:3.7.0
docker pull mysql:8.0.28
示例:docker pull federatedai/eggroll:1.7.2-release
docker pull federatedai/serving-proxy:2.0.4-release
验证镜像
docker images
注意,在197和222的两台机器上都要运行上述代码,就可以得到安装fate所有镜像,效果上图一样。
3.修改 docker-deploy/partie.conf 配置文件
根据需求修改配置文件kubeFATE\docker-deploy\parties.conf
先进入deploy:
cd docker-deploy
user=root ##你当前的用户名
dir=/data/projects/fate ##要安装的所有机器上fate安装目录
partylist=(10000 9999) ##要安装的所有机器的party编号
partyiplist=(192.168.29.197 192.168.29.222) ##要安装FATE的所有机器的IP地址
servingiplist=(192.168.29.197 192.168.29.222) ##模型预测服务的IP地址,这个我观察基本都是和partylist一样
#需要跑神经网络的算法则需把这个改为true
enabled_nn=false
# default
#如果目标机和部署机是一台的话,这个不管,不然把这个exchangeip写成部署机的
exchangeip=192.168.29.197
执行生成集群启动文件脚本
bash generate_config.sh
执行启动集群脚本
bash docker_deploy.sh all --training
上一个结束后:
bash docker_deploy.sh all --serving
验证是否部署成功
docker exec -it confs-10000_client_1 bash #进入python组件容器内部
flow test toy --guest-party-id 10000 --host-party-id 9999 #验证
三.后续配置,参考官方教程:
KubeFATE/README_zh.md at master · FederatedAI/KubeFATE · GitHub
总结:
单独参考一份搭建文档,不一定弄得出来,多参考一些吧。