20211101
#基本信息
VMware® Workstation 16 Pro
ubuntu18.04
@author iscanghai
#安裝參考
https://github.com/FederatedAI/KubeFATE/blob/master/docker-deploy/README_zh.md
1.安裝docker
#安裝命令
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
#查看docker版本
docker -v
==>Docker version 20.10.10, build b485636
2.安裝docker-compose
#切換超級管理員模式
sudo -i
# 下載docker-compose文件
curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 添加可執行權限(只一步就安裝完成),如果不添加可執行權限,執行 docker-compose 命令會提示權限不夠。
chmod +x /usr/local/bin/docker-compose
# 查看docker-compose版本
docker-compose --version
==>docker-compose version 1.27.4, build 40524192
#退出root模式
exit + 回車
#下載KubeFATE v1.6.1
https://github.com/FederatedAI/KubeFATE/releases
20211103
3.下載所需鏡像
#添加docker用戶組
sudo groupadd docker
#將登陸用戶加入到docker用戶組中
sudo gpasswd -a USER docker
#更新用戶組
newgrp docker
#測試docker命令是否可以使用sudo正常使用
docker ps
#pull鏡像
$ docker pull federatedai/eggroll:1.6.1-release
$ docker pull federatedai/fateboard:1.6.1-release
$ docker pull federatedai/python:1.6.1-release
$ docker pull federatedai/serving-server:2.0.4-release
$ docker pull federatedai/serving-proxy:2.0.4-release
$ docker pull redis:5
$ docker pull mysql:8
#安裝ssh
sudo apt install openssh-server
sudo apt install openssh-client
sudo service ssh start
#檢查ssh啟動狀態
ps -aux | grep ssh
#切換到root
sudo su
將canghai添加到root用戶組
sudo adduser canghai sudo
#開啟root賬戶,設置root密碼
sudo passwd root
sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
#添加如下兩行
greeter-show-manual-login=true #手工輸入登陸系統的用戶名和密碼
all-guest=false #不允許guest登錄(可選)
#打開文件注釋掉auth required pam_success_if.so user!=root quiet_success這一行
sudo gedit /etc/pam.d/gdm-autologin
#打開文件注釋掉auth required pam_success_if.so user!=root quiet_success這一行
sudo gedit /etc/pam.d/gdm-password
#修改文件 /root/.profile
sudo gedit /root/.profile
#重啟電腦
#允許root用戶ssh登錄
sudo vim /etc/ssh/sshd_config
#修改PermitRootLogin prohibit-password為PermitRootLogin yes
#重啟sshd
sudo systemctl restart sshd
############################################配置普通用戶免密登錄#########################################################
#切換到root用戶,在21,23上建立用戶canghai
su
adduser canghai
#添加root權限
gedit /etc/sudoers
#在User privilege specification 下添加 canghai ALL=(root) NOPASSWD:ALL
#在21,23上切換為canghai
exit
#設置rsa秘鑰 P為大寫 “” 表示無密碼
ssh-keygen -t rsa -P ""
#在23虛擬機上執行命令
scp id_rsa.pub canghai@192.168.1.21:/home/canghai/.ssh/01_id_rsa.pub
#在21虛擬機上執行下屬命令,將所有pub寫入授權文件中
cat *.pub >> authorized_keys
#在21,使用scp,將生成的授權文件分發到其他虛擬機,如23
scp authorized_keys canghai@192.168.1.23:/home/canghai/.ssh/
############################################配置root免密登錄#########################################################
#與配置普通用戶免密登錄相似
scp id_rsa.pub root@192.168.1.21:/root/.ssh/root_01_id_rsa.pub
cat *.pub >> authorized_keys
scp authorized_keys root@192.168.1.23:/root/.ssh/
############################################框架測試#########################################################
#進入python容器
docker exec -it confs-10000_python_1 bash
#每隔五秒python容器就會重啟,服務啟動失敗
#查看docker日志
docker logs --tail 50 --follow --timestamps id
#打印出mysql初始化失敗,但是mysql容器是啟動成功的,那么可能是數據庫連接有問題。
#修改mysql用戶名和密碼、IP地址
#!/bin/bash
user=root
dir=/data/projects/fate
party_list=(10000 9999)
party_ip_list=(192.168.1.23 192.168.1.21)
serving_ip_list=(192.168.1.23 192.168.1.21)
# backend could be eggroll, spark_rabbitmq and spark_pulsar
backend=eggroll
# true if you need python-nn else false, the default value will be false
enabled_nn=false
# default
exchangeip=
# modify if you are going to use an external db
mysql_ip=mysql
mysql_user=root
mysql_password=''
mysql_db=fate_flow
# modify if you are going to use an external redis
redis_ip=redis
redis_port=6379
redis_password=fate_dev
name_node=hdfs://namenode:9000
# Define fateboard login information
fateboard_username=admin
fateboard_password=admin