(一)CentOS7下的FATE框架单机部署

参考文章:

https://blog.csdn.net/GJ_007/article/details/104370903

https://blog.csdn.net/weixin_47287141/article/details/108716845

https://blog.csdn.net/Ivan_Lee8023/article/details/116378431

FATE单机部署准备工作:

下载安装VMware Workstation pro

安装CentOS7

安装python3

!注意网络是否开启

使用root,方便后面一些操作

su

安装python3.6的一些依赖包

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

可能出现问题:另外一个程序锁定了yum;等待它退出…

解决办法:rm -f /var/run/yum.pid

安装wget

yum install wget

下载python3.6.5

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

解压到指定文件夹

tar -xzvf Python-3.6.5.tgz -C /usr/local

进入解压完的文件

cd /usr/local/Python-3.6.5

安装gcc

yum install gcc

编译

./configure prefix=/usr/local/python3
make && make install

这里可能会出现一个问题:-zipimport.ZipImportError: can’t decompress data; zlib not available

分开发现make没有问题,问题出现在make install

原因:编译安装时出错,缺少zlib依赖包

解决方法:yum install zlib* -y 然后重新make install

配置软链接

cd /usr/bin
mv python python.backup    \\\备份python

ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3

更改下面几个文件

把第一行的python改为python2

vi /usr/bin/yum

vi /usr/libexec/urlgrabber-ext-down

vi /usr/bin/yum-config-manager

vi修改操作:vi打开文件,按i编辑,按esc+:并输入wq退出并保存

**关于vi编译器的使用可以参考:**https://blog.csdn.net/cyl101816/article/details/82026678

安装docker

卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

yum remove docker \
         docker-client \
         docker-client-latest \
         docker-common \
         docker-latest \
         docker-latest-logrotate \
         docker-logrotate \
         docker-engine

安装软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

安装 Docker Engine-Community

使用 Docker 仓库进行安装:

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,可以从仓库安装和更新 Docker。

yum install -y yum-utils \
 device-mapper-persistent-data \
 lvm2

使用以下命令来设置稳定的仓库:

使用官方源地址(比较慢)

$ sudo yum -config-manager
–add-repo
https:**//download.docker.com/linux/centos/**docker-ce.repo

可以选择国内的一些源地址:

阿里云

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community

(注意看FATE手册上的版本,18.09跳到下面)安装最新版本的 Docker Engine-Community 和 containerd:

yum install docker-ce docker-ce-cli containerd.io

如果提示您接受 GPG 密钥,请选是。

Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。

要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

1、列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。

yum list docker-ce --showduplicates | sort -r

2、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1

yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io

启动并加入开机启动

systemctl start docker
systemctl enable docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

docker run hello-world

检查版本

docker -v
docker version

安装docker-compose

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 version

可能出现问题:-bash: /usr/local/bin/docker-compose: 权限不够:

chmod +x /usr/local/bin/docker-compose

下载FATE项目

下载:(注意FATE手册版本)

wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/docker_standalone_fate_1.6.0.tar.gz

解压:

tar -xzvf docker_standalone_fate_1.6.0.tar.gz

部署

cd docker_standalone_fate_1.6.0

bash install_standalone_docker.sh

测试

  • 单元测试
CONTAINER_ID=`docker ps -aqf "name=fate"`
docker exec -t -i ${CONTAINER_ID} bash
bash ./python/federatedml/test/run_test.sh

如果成功,屏幕显示类似下方的语句:

there are 0 failed test

  • Toy测试
CONTAINER_ID=`docker ps -aqf "name=fate"`
docker exec -t -i ${CONTAINER_ID} bash
python ./examples/toy_example/run_toy_example.py 10000 10000 0

如果成功,屏幕显示类似下方的语句:

success to calculate secure_sum, it is 2000.0

其它

安装FATE-Client和FATE-Test

为方便使用FATE,我们提供了便捷的交互工具FATE-Client以及测试工具FATE-Test.

(可选)创建虚拟环境

python -m venv venv
source venv/bin/activate

 pip install fate-client
 flow init --ip 127.0.0.1 --port 9380

 pip install fate-test

一些问题:

问题:

pip command not find

解决方法:

yum install epel-release
yum install -y python-pip

问题:Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-pmmb6y_u/grpcio/

pip install --upgrade pip

问题:pip升级后出错

yum remove python-pip
yum install python-pip python-dev build-essential

你可能感兴趣的:(FATE)