【联邦学习】kubefate安装(docker-compose版)

概念介绍

联邦学习:(待补充)
fate介绍:(待补充)
kubefate介绍:分布式版fate
官网:https://fate.fedai.org/
github:https://github.com/FederatedAI/

安装

背景

  • 本文采用docker-compose安装。
  • 安装机器为阿里云,相关加速配置都为阿里云中的配置。
  • 阿里云机器之间可以内网连接。
  • 实例开通公网权限,可以访问开通的接口。
  • 在安装包中有相关文档,遇事不决可以参考。README.md(英文版),README_zh.md(中文版)
  • 机器分为两类,操作机安装机。操作机用于运行安装脚本,给集群内机器安装相关组件;安装机为实际运行kubefate的机器
  • 以下端口需要用到,请提前在机器上将其保留:8000、8350、8059、20000、8080、9360、9370、4670、4671、3306
  • 本文使用root部署,略显不规范。建议使用普通用户

环境

本次安装版本为1.10,需要的背景如下

  1. 3台主机(物理机或者虚拟机,都是Centos7系统)。本文中安装使用3台机器(1host+2guest),也可以安装2台机器(1host+1guest)。机器配置推荐为8核16G内存。过于简陋的配置容易造成子服务启动异常。
  2. 所有主机安装Docker 版本 : 18+。Centos安装相关命令如下
	wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum -y install docker-ce
  1. 安装Docker-Compose,版本: 1.24+。安装命令如下
	 curl -SL https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

安装步骤

如未特殊说明,以下都是在操作机上进行。操作机最好能提前配置免密登录到安装机。配置方法

ssh-keygen
ssh-copy-id root@IP1
ssh-copy-id root@IP2
ssh-copy-id root@IP3
  1. 下载部署压缩包。 releases页面,从中选择1.10.0版本
  2. 压缩包,可以得到一个目录docker-deploy
  3. 镜像加速(可选)。由于需要下载的总镜像约18G,有必要在下载中加速。可以使用阿里云自带的加速方案,也可以配置163的hub。方法为修改docker-deploy下.env文件,修改RegistryURI参数:
    RegistryURI=hub.c.163.com
    
  4. 编辑/docker-deploy/parties.conf,修改资源信息
    #!/bin/bashuser=root
    dir=/data/projects/fate
    party_list=(10000 9999 9998)
    party_ip_list=(IP1 IP2 IP3)
    serving_ip_list=(IP1 IP2 IP3)# Engines:
    # Computing : Eggroll, Spark, Spark_local
    computing=Eggroll
    # Federation: Eggroll(computing: Eggroll), Pulsar/RabbitMQ(computing: Spark/Spark_local)
    federation=Eggroll
    # Storage: Eggroll(computing: Eggroll), HDFS(computing: Spark), LocalFS(computing: Spark_local)
    storage=Eggroll
    # Algorithm: Basic, NN
    algorithm=Basic
    # Device: IPCL, CPU
    device=IPCL# spark and eggroll
    compute_core=4# default
    exchangeip=# modify if you are going to use an external db
    mysql_ip=mysql
    mysql_user=fate
    mysql_password=fate_dev
    mysql_db=fate_flowname_node=hdfs://namenode:9000# Define fateboard login information
    fateboard_username=admin
    fateboard_password=admin# Define serving admin login information
    serving_admin_username=admin
    serving_admin_password=admin# Define notebook login information
    notebook_hashed_password=
    
  5. 执行脚本
    bash ./generate_config.sh          # 生成部署文件
    bash ./docker_deploy.sh all        # 在各安装机上部署FATE
    
    第二条命令初次执行时会耗时很长,因为需要下载镜像。需要耐心等待。
    安装脚本本质上是将docker-compose脚本放到远程安装机并拉起。
    执行完成后可以登录到安装机上敲docker ps查看是否有8个以上容器在运行,如果是就表示安装成功。
  6. 验证部署。登录IP1机器进行验证
    $ docker exec -it confs-10000_client_1 bash                        
    $ flow test toy --guest-party-id 10000 --host-party-id 9999       
    
    如果运行没有报错则表示安装成功。
  7. 登录fateboard查看状态。假设IP1的外网地址为IP1-OUT,可以登录其外网地址http://IP1-OUT:8080,收入用户名密码admin/admin,点击右上角JOBS,可以看到toy任务运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot+vue在idea上面的使用小结

1.在mac上面删除java的jdk方法: sudo rm -rfjdk的路径 sudo rm -rf /Users/like/Library/Java/JavaVirtualMachines/corretto-17.0.10/Contents/Home 2.查询 Mac的jdk版本和路径: /usr/libexec/java_home -V 3.mac上面查询和关闭idea的网页端口&…

快速上手Spring Cloud五:Spring Cloud与持续集成/持续部署(CI/CD)

快速上手Spring Cloud 一:Spring Cloud 简介 快速上手Spring Cloud 二:核心组件解析 快速上手Spring Cloud 三:API网关深入探索与实战应用 快速上手Spring Cloud 四:微服务治理与安全 快速上手Spring Cloud 五:Spring …

samba实现linux共享文件夹

一、samba安装 sudo apt install samba 二、配置Samba 编辑Samba配置文件sudo vi /etc/samba/smb.conf 在文件末尾添加以下内容,设置一个简单的共享目录(替换path_to_share为实际的共享目录路径): [Share] path /path_to_sha…

鱼眼相机的测距流程及误差分析[像素坐标系到空间一点以及测距和误差分析]

由于最近在整理单目测距的内容,顺手也总结下鱼眼相机的测距流程和误差分析,如果有错误,还请不吝赐教。 参考链接: 鱼眼镜头的成像原理到畸变矫正(完整版) 相机模型总结(针孔、鱼眼、全景) 三维…

多模态系列-综述MM-LLMs: Recent Advances in MultiModal Large Language Models

Homepage:https://mm-llms.github.io/ Paper: https://arxiv.org/abs/2401.13601 1 摘要 在过去的一年中,多模态大型语言模型(MM-LLMs)取得了实质性的进展,通过高效的训练策略,增强了现成的语言模型,以支持多模态输入或输出。由此产生的模型不仅保留了语言模型的固有…

Unity照片墙简易圆形交互效果总结

还要很多可以优化的点地方,有兴趣的可以做 比如对象的销毁和生成可以做成对象池,走到最左边后再移动到最右边循环利用 分析过程文件,采用Blender,资源已上传,可以播放动画看效果,下面截个图: …

关系型数据库mysql(8)sql高级语句②

目录 一.子查询——Subquery 语法 环境准备 In——查询已知的值的数据记录 子查询——Insert 子查询——Update 子查询——Delete Not In——表示否定,不在子查询的结果集里 Exists——判断查询结果集是否为空 子查询——别名 ​编辑 二.视图 理论&a…

图论之路径条数专题

一直忙着金工实习蓝桥杯,好久没有看图论了,今天就小试几题享受下被虐的快感。 1.最短路拓扑 首先来几个结论: 1.最短路图没有环(可以用反证法证明) 2.dis[u]edge[u,v]dis[v],那么u,v端点的边一定在最短路…

方差分析(ANOVA)

方差分析(ANOVA,Analysis of Variance)是一种统计方法,用于比较两个或多个组之间的平均数是否存在显著差异。其原理基于对总方差的分解,将总方差分解为组内方差和组间方差。通过比较组内方差和组间方差的大小&#xff…

selenium自动化测试

selenium自动化测试 1、Javaselenium环境搭建2、测试,打开任意网页3、selenium 常见的Api3.1元素定位findElement3.1.1 css 选择语法3.1.2 xpath 选择语法 1、Javaselenium环境搭建 下载chromedriver,版本要与Chrome浏览器版本一致。 下载之后将chro…

数据库【QSqlQueryaModel】

QSqlQueryModel Class 描述 QSqlQueryModel是用于执行SQL语句和遍历结果集的高级接口。它构建在较低级别的QSqlQuery之上,可用于为视图类(如QTableView)提供数据。例如 QSqlQueryModel *model new QSqlQueryModel;model->setQuery(&quo…

C++经典面试题目(九)

1、什么是组合?请举例说明如何在C中实现组合。 组合是一种面向对象编程中的概念,用于描述类之间的关系。它表示一个类包含另一个类的对象作为成员变量的情况。在组合中,一个类的对象可以包含其他类的对象,这种关系通常表现为“拥…

第P1周:实现mnist手写数字识别

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **🍖 原作者:[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)** 目录 一、前言 二、我…

Docker版本:18.06.1安装

1、操作系统:CentOS 7.5以上 2、Docker版本:18.06.1 1、解压 tar -xvf docker-18.06.1-ce.tgz2、将解压出来的docker文件内容移动到 /usr/bin/ 目录下 cp docker/* /usr/bin/3、将docker注册为service vim /etc/systemd/system/docker.service将下列…

vant checkbox 复选框 样式改写

修改前 修改后 基于 vant&#xff1a; 4.8.3 unocss: 0.53.4 <van-checkbox-group v-model"query.zczb" shape"square" class"text-16 w-100% flex flex-wrap"><template v-for"item in registerCapitalOption"><v…

LeetCode 27 移除元素

给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面…

“预防儿童烧烫伤”科普安全课堂走进嘉鱼县第一小学

为提高嘉鱼县儿童烧烫伤安全意识、隐患识别能力以及突发应急处置能力&#xff0c;3月26日下午&#xff0c;在中国社会福利基金会烧烫伤关爱公益基金、嘉鱼县妇女联合会、嘉鱼县教育局的支持下&#xff0c;嘉鱼县蒲公英社会工作服务中心走进嘉鱼县第一小学开展预防儿童烧烫伤科普…

go中的context超时控制、超时传递、跨进程超时传递

context包中的WithCancel、WithDeadline和WithTimeout函数提供了创建上下文&#xff08;context&#xff09;对象的能力&#xff0c;这些上下文对象对于管理goroutine的生命周期非常重要&#xff0c;尤其是在处理取消、超时和截止时间的场景中。 WithCancel WithCancel函数返回…

ubuntu下vscode ctrl+tab松开ctrl后不自动选中文件

vscode用ctrltab切换文件时&#xff0c;松开ctrl键后会自动选中切换的文件。 但是在ubuntu下发现有时不能自动选中切换的文件&#xff0c;需要再次按enter键才能打开文件。 经过测试发现解决方法有两个&#xff1a; 方法1&#xff1a;确认wayland状态&#xff0c;关闭wayland…

基于Spring Boot 3 + Spring Security6 + JWT + Redis实现登录、token身份认证

基于Spring Boot3实现Spring Security6 JWT Redis实现登录、token身份认证。 用户从数据库中获取。使用RESTFul风格的APi进行登录。使用JWT生成token。使用Redis进行登录过期判断。所有的工具类和数据结构在源码中都有。 系列文章指路&#x1f449; 系列文章-基于Vue3创建前端…