FATE支持Linux或Mac操作系统,支持单机部署、集群部署和KubeFATE部署,其中单机和集群部署都属于原生部署,需要配置必要的开发环境和依赖库。这篇文章主要是整合FATE框架安装所需软件环境的方法指南:
系统环境是centos7,可以使用阿里云盘获取centos7镜像和VMware16.2;也可以自行官网下载。
centos7镜像 等文件https://www.aliyundrive.com/s/ZCVXjPSgYfX
提取码: 26xi
官网下载地址:http://mirrors.163.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
开发环境和依赖库包括:
JDK1.8+
Python3.6
Python virtualenv
MySQL 5.6+
Redis 5.0.2等
FATE开源网站github:https://github.com/FederatedAI/FATE
这里可以参考这篇文件进行安装Python3.6 https://blog.csdn.net/weixin_44894083/article/details/127295628
为了防止后期出错,在python2.7和python3.6都安装
pip3 install virtualenv
pip install virtualenv
为了下载更快,使用镜像源下载。
virtualenv python-env
进入虚拟环境:cd python-env
激活环境:source bin/activate
python -version
退出虚拟环境:deactivate
这里与安装virtualenv类似
pip3 install virtualenvwrapper
pip install virtualenvwrapper
找到virtualenvwrapper.sh路径 find / -name virtualenvwrapper.sh
这里会得到一个或两个路径位置,我们需要使用python3.6的路径
mkdir -p $WORKON_HOME #创建虚拟环境管理目录
vim ~/.bashrc #打开这个文件,把下面两行添加到文件最后面
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# 最后执行.bashrc使文件生效
source ~/.bashrc
这里可以提前查看java是否存在,因为一般centos7里面都是自带jdk1.8的
java -version
如果得到下图这样带有jdk版本号的结果,即jdk1.8.0,可以跳过jdk1.8环境的配置。否则需要自行安装。
jdk1.8安装教程
查看这篇文章
https://blog.csdn.net/weixin_44894083/article/details/127301559
redis的安装参考了https://cloud.tencent.com/developer/news/366992感谢大佬的指导
1、下载resis
# 下载redis
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
# 解压:
tar -zxvf redis-5.0.2.tar.gz
# 移动加命名
mv redis-5.0.2 /usr/local/redis
cd /usr/local/redis
make # 编译
为了使用make test测试不出错,首先安装tcl
tcl的安装教程:
1、 cd /usr/local
2、下载 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
3、解压 tar xzvf tcl8.6.1-src.tar.gz
4、cd /usr/local/tcl8.6.1/unix/
5、./configure
6、编译 make
7、安装 make install
cd /usr/local/redis
make test
make install PREFIX=/uer/local/redis
2、转移配置文件
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
cd /usr/local/redis/src/
cp redis-server redis-cli redis-benchmark /usr/local/redis/bin/
cp redis.conf /usr/local/redis/etc/
3、redis参数修改
vim /usr/local/redis/etc/redis.conf # redis的配置文件
daemonize:是否以后台daemon方式运行。改成yes
dir:数据快照的保存目录。改成/usr/local/redis
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率
requirepass:Redis的连接密码。自行设置吧,默认是注释的,也就是免密码
bind 127.0.0.1:若需要远程连接,注释掉
**注意:**在redis3.2之后,redis增加了protected-mode,在这个模式下,即使注释掉了bind 127.0.0.1,再访问redisd时候还是报错,解决办法是把protected-mode 改为no
4、redis启动
cd /usr/local/redis/src
./redis-server
查看redis 是否启动 ps -ef | grep redis
5、Redis开机自启动
打开文件 vim /etc/rc.local
在里面添加:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
6、redis关闭
redis-cli shutdown
相对路径运行出错,就用绝对路径,如下
没有密码:/usr/local/redis/bin/redis-cli shutdown
有密码:/usr/local/redis/bin/redis-cli -a password shutdown
最后如果上面都不可以,只能
pkill redis
单机部署版本主要为了帮助开发人员快速开发及测试FATE,比较适合初级开发者使用。这里使用Docker镜像安装FATE,可以大大降低产生问题的概率。使用docker安装FATE需要确保下面三点:
1、首先删除原有的docker,若之前没有安装过直接忽略这一步
yum update # 升级yum
sudo yum remove docker docker-client \
docker-client-latest docker-common \
docker-latest docker-latest-logrotate \
docker-logrotate docker-engine docker-ce
2、安装驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置docker镜像源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、安装docker
yum list docker-ce --showduplicates | sort -r #查看源仓库中的docker版本,如下图所示
# 如果需要安装指定版本,例如docker-ce-18.09.1,将下面xxx替换即可
sudo yum install docker-ce- docker-ce-cli- containerd.io
# 如果需要安装最新版本
sudo yum install docker-ce
5、启动docker
在启动docker之前,首先关闭防火墙,已踩坑
# 查看防火墙状态
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
启动docker:systemctl start docker
dockers基本用法
查看docker的版本:docker --version
查看docker启动状态:systemctl status docker
开机启动docker:systemctl enable docker
查看所有的容器:docker ps -a
终止容器:docker stop 容器id (例如docker stop 1586ab29e51f)
删除容器(需要先停止容器):docker rm 容器id
启动容器:docker exec -t -i 容器id bash
6、验证docker
验证docker安装是否正确,测试一下。这里运行的是hello-world镜像
sudo docker run hello-world
看到如下截图就意味着成功了
7、安装完成之后,下面安装docker-compose
sudo yum install docker-compose-plugin
# 查看docker-compose版本
docker-compose -version
8、删除docker等步骤
首先卸载docker,cli,containerd,docker-compose packages
sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
由于主机上的镜像、容器、数据卷或者自定义配置文件不会自动删除,因此手动删除
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
docker官方文档https://docs.docker.com/
1、查看端口号是否被占用
netstat - nultp | grep 8080
netstat - nultp | grep 9360
netstat - nultp | grep 9380
2、获取并解压安装包
wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/docker_standalone_fate_1.5.0.tar.gz
tar -zxvf docker_standalone_fate_1.5.0.tar.gz
3、执行部署
cd docker_standalone_fate_1.5.0
bash install_standalone_docker.sh
4、验证和测试
CONTAINER_ID=`docker ps -aqf "name=fate_python"`
docker exec -it ${CONTAINER_ID} /bin/bash
bash ./python/federatedml/test/run_test.sh