联邦学习【FATE安装与部署】

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

1、Python3.6

这里可以参考这篇文件进行安装Python3.6 https://blog.csdn.net/weixin_44894083/article/details/127295628

2、virtualenv和virtualenvwrapper安装

1、安装virtualenv

为了防止后期出错,在python2.7和python3.6都安装

pip3 install virtualenv
pip install virtualenv

为了下载更快,使用镜像源下载。

2、创建python虚拟环境
virtualenv python-env
进入虚拟环境:cd python-env
激活环境:source bin/activate
python -version
退出虚拟环境:deactivate
3、安装virtualenvwrapper

这里与安装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

联邦学习【FATE安装与部署】_第1张图片

3、JAVA(jdk1.8)环境配置

这里可以提前查看java是否存在,因为一般centos7里面都是自带jdk1.8的

java -version

联邦学习【FATE安装与部署】_第2张图片
如果得到下图这样带有jdk版本号的结果,即jdk1.8.0,可以跳过jdk1.8环境的配置。否则需要自行安装。
jdk1.8安装教程

4、MySQL5.6安装以及配置

查看这篇文章
https://blog.csdn.net/weixin_44894083/article/details/127301559

5、Redis5.0.2安装以及配置

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

6、FATE运行

单机部署版本主要为了帮助开发人员快速开发及测试FATE,比较适合初级开发者使用。这里使用Docker镜像安装FATE,可以大大降低产生问题的概率。使用docker安装FATE需要确保下面三点:

  1. 主机能ping外部网络,为了拉取安装包和Docker镜像
  2. 安装依赖Docker和Docker Compose
  3. 执行之前,检查端口8080、9096、9080是否被占用。如果要再次执行,注意:需要使用Docker命令删除以前的容器和镜像

由下图可以看出可以ping通
联邦学习【FATE安装与部署】_第3张图片

1、下面开始安装docker、docker-compose

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版本,如下图所示

联邦学习【FATE安装与部署】_第4张图片

# 如果需要安装指定版本,例如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

联邦学习【FATE安装与部署】_第5张图片
启动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

看到如下截图就意味着成功了
联邦学习【FATE安装与部署】_第6张图片
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/

2、使用docker安装FATE

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

联邦学习【FATE安装与部署】_第7张图片
测试结果如下图,不难发现,测试成功!
联邦学习【FATE安装与部署】_第8张图片

你可能感兴趣的:(python,docker,centos,java,数据库)