安装FLC
前提条件
已获取FLC安装包。
背景信息
FLC支持两种用户注册:
- 公有云用户:FLC使用公有云用户id、ak/sk、用户名和密码、domainName信息向华为云端FLS申请注册。
- 云道用户:FLC通过云道用户appid从云道侧获取用户token后向华为云端FLS申请注册。
操作步骤
- 上传并解压安装包。
将已下载的FL-Client_x.x.x.xxx.tar.gz压缩包上传到/root路径下,并解压包。
[root@EulerOS-BaseTemplate ~]# tar -xzvf FL-Client_x.x.x.xxx.tar.gz
包名“FL-Client_x.x.x.xxx.tar.gz”中“x.x.x.xxx”为实际的包版本号和打包时间戳。
文件解压缩后,系统会在/root路径生成一个名为FL-Client_x.x.x.xxx的文件夹,文件夹的目录文件如下:
- action:存放安装脚本文件
- config:存放配置rpm包
- repo:存放jre、client的rpm包
- vars:存放配置变量文件
- manifest.yml:描述包的基本属性文件
- 执行安装命令。
进入解压后文件夹内的action文件夹,执行“sh appctl.sh install”。
[root@EulerOS-BaseTemplate ~]# cd FL-Client_x.x.x.xxx [root@EulerOS-BaseTemplate FL-Client_x.x.x.xxx]# cd action [root@EulerOS-BaseTemplate action]# sh appctl.sh install
系统提示“Install Federated-Client success.”表示FLC安装成功。
- 配置参数。
FLC安装成功后,实际部署目录为“/opt/cloud/Federated-Client/”,需要切换到此目录下,修改“conf/config.properties”中的配置参数取值,参数说明如表1所示。
[root@EulerOS-BaseTemplate ~]# cd /opt/cloud/Federated-Client [root@EulerOS-BaseTemplate Federated-Client]# cd conf [root@EulerOS-BaseTemplate conf]# vi config.properties
表1 配置参数 参数名称
参数描述
配置样例
federalServer.address
FLC连接的华为云端FLS服务地址。
联系华为联邦学习部署服务接口人确认取值。
公有云北京四region配置为网关地址:https://119.3.161.172
https://10.10.10.1:7443
client.user
配置注册公有云用户信息,通过用户ak/sk鉴权注册:
- id:用户ID
- ak/sk:用户访问密钥,sk配置为明文,服务启动后会自动加密。
- domainName:用户所在租户名(账号名)。
系统支持使用“|”同时配置多个用户信息。用户信息为华为公有云用户信息,可在“我的凭证”页面获取。
仅在使用公有云用户注册时需要配置该参数,使用云道用户注册时不需要配置该参数。
{"id":"*******","ak":"*******","sk":"*******","domainName":"*******""}|{"id":"*******","ak":"*******","sk":"*******","domainName":"*******""}
client.user.pwd
配置注册公有云用户信息,通过用户名和密码鉴权注册:
- id:用户ID
- name:用户名
- pwd:用户密码,配置为明文,服务启动后会自动加密。
- domainName:用户所在租户名(账号名)。
系统支持使用“|”同时配置多个用户信息。用户信息为华为公有云用户信息,可在“我的凭证”页面获取。
该参数为可选参数,当无法使用用户ak/sk鉴权注册时,可通过用户名和密码鉴权注册。
仅在使用公有云用户注册时需要配置该参数,使用云道用户注册时不需要配置该参数。
{"id":"*******","name":"*******","pwd":"*******","domainName":"*******""}
client.custom.registerRequest
配置FLC自动注册信息。
- instanceId:实例ID
- userId:用户ID
- name:用户名
- instanceVersion:实例版本
仅在网络AI框架场景下需要配置。
{"instanceId":"*******" ,"userId":"*******", "name":"*******" ,"instanceVersion":"*******"}
client.model.global.path
全局模型存储路径。
建议使用默认值。
/opt/cloud/Federated-Client/model/global/
client.model.local.path
本地模型存储路径。
建议使用默认值。
/opt/cloud/Federated-Client/model/local/
client.kpi.local.path
本地模型kpi存储路径。
建议使用默认值。
/opt/cloud/Federated-Client/model/kpi/
client.apppackage.path
应用包存储路径。
建议使用默认值。
/opt/cloud/Federated-Client/apppackage/
client.model.keep.num
FLC上保存的模型文件最大个数。系统凌晨1:00会自动清理client.model.global.path和client.model.local.path配置路径下的模型文件,只保留最新文件的最大个数。
100
client.policy
对接的联邦FLS服务类型:
- online:FLS在华为云端。
- offline:FLS在客户端。
配置为online。
online
rest.proxy.enabled
FLC是否通过Rest请求代理方式连接FLS。
- true:使用Rest请求代理。
- false:不使用Rest请求代理。
false
rest.proxy.host
FLC的Rest请求代理host。
当FLC使用Rest请求代理方式连接FLS时有效。
10.12.11.11
rest.proxy.port
FLC的Rest请求代理端口。
当FLC使用Rest请求代理方式连接FLS时有效。
8080
client.offline.sftp.host
线下sftp服务器ip,仅当client.policy配置为offline时生效。
无需配置。
10.10.10.12
client.offline.sftp.port
线下sftp服务器端口,仅当client.policy配置为offline时生效。
无需配置。
22
client.offline.sftp.username
线下sftp服务器登录用户,仅当client.policy配置为offline时生效。
无需配置。
root
client.offline.sftp.password
线下sftp服务器登录用户密码,仅当client.policy配置为offline时生效。
无需配置。
-
cloud.region
FLS服务部署区域,仅当client.policy配置为online时生效。
联系华为联邦学习部署服务接口人确认取值。
cn-north-4
iam.global.endpoint
iam对外提供的global区访问地址,仅当client.policy配置为online时生效。
联系华为联邦学习部署服务接口人确认取值。
https://iam.myhuaweicloud.com
obs.endpoint
obs对外提供的访问地址,仅当client.policy配置为online时生效。
联系华为联邦学习部署服务接口人确认取值。
https://obs.cn-north-4.myhwclouds.com
obs.location
obs服务的部署区域,仅当client.policy配置为online时生效。
联系华为联邦学习部署服务接口人确认取值。
cn-north-4
apig.app.authentication
federalServer.address参数配置的华为云端FLS服务地址是否为华为云API网关地址。
取值:
- yes
- no
联系华为联邦学习部署服务接口人确认取值。
no
client.csb
是否使用云道用户注册:
- on:使用云道用户注册。
- off:使用公有云用户注册。
off
client.csb.app
云道用户appid、account(w3工号)、pwd(w3密码)、region和是否灰度账号信息,联系华为联邦学习部署服务接口人确认取值。
系统支持使用“|”同时配置多个app信息。
仅在使用云道用户注册时需要配置该参数,使用公有云用户注册时不需要配置该参数。
{"id":"*******","account":"*******","pwd":"*******","region":"*******","gray":"no"}
client.csb.adapter.address
集成adapter的服务地址,联系华为联邦学习部署服务接口人确认取值。
仅在使用云道用户注册时需要配置该参数,使用公有云用户注册时不需要配置该参数。
https://10.10.10.10:8080
client.python
FLC使用的python路径。
/opt/cloud/3rdComponent/python3.9.2/bin/python
business.model.in.type
边缘节点上业务训练系统的输入:
- model:模型
- model_change:模型改变量
model
business.model.out.type
边缘节点上业务训练系统的输出:
- model:模型
- model_change:模型改变量
model_change
model.name
边缘节点上FLC的输入模型和输出模型名称。
- Tensorflow框架下,模型名称不需要加后缀,例如:model
- Caffe框架下,模型名称以“.caffemodel”后缀结尾,例如:model.caffemodel
- Pytorch框架下,模型名称以“.pth”后缀结尾,例如:model.pth
- Keras框架下,模型名称以“.h5”后缀结尾,例如:model.h5
model.h5
keystore.path
https单向认证使用的服务端证书库路径。
无需配置。keystore.check.switch.on配置为true时有效。
/opt/cloud/Federated-Client/conf/trustServer.keystore
keystore.passwd
https单向认证使用的服务端证书库访问密码。
无需配置。keystore.check.switch.on配置为true时有效。
-
keystore.check.switch.on
是否开启https单向认证。
- true:开启
- false:关闭
配置为false。
false
revoke.cert.path
https单向认证使用的服务端吊销证书文件路径。
无需配置。keystore.check.switch.on配置为true时有效。
/opt/cloud/Federated-Client/conf/revoke.crl
naie.platform
NAIE的部署平台。如果NAIE部署在GDE上,则配置为gde,否则不需要配置。
-
agent.edge.switch.on
是否使用FLC中自带的边缘业务训练系统。
- true:使用
- false:不使用
配置为false。
false
agent.edge.heartbeat.interval
FLC和自带的边缘业务训练系统间的心跳消息时间间隔。单位:秒。
使用默认值。agent.edge.switch.on配置为true时有效。
5
agent.edge.checkstatus.interval
FLC自带的边缘业务训练系统检查训练和评估任务状态的时间间隔。单位:秒。
使用默认值。agent.edge.switch.on配置为true时有效。
5
use.global.algo
FLC自带的边缘业务训练系统是否使用创建联邦实例时上传的模型包中的全局算法。
- true:使用
- false:不使用
agent.edge.switch.on配置为true时有效。
false
edge.model.kpi.file
FLC自带的边缘业务训练系统本地训练时记录的模型kpi文件。
使用默认值。agent.edge.switch.on配置为true时有效。
result
edge.prereportdata
FLC自带的边缘业务训练系统注册FLS时上报的初始kpi文件。
使用默认值。agent.edge.switch.on配置为true时有效。
/opt/cloud/Federated-Client/result.txt
edge.customer.properties
FLC自带的边缘业务训练系统注册FLS信息文件。
使用默认值。agent.edge.switch.on配置为true时有效。
/opt/cloud/Federated-Client/conf/customer.properties
edge.train.data
FLC自带的边缘业务训练系统本地训练数据目录。
agent.edge.switch.on配置为true时有效。
/opt/demo/data/
edge.test.data
FLC自带的边缘业务训练系统本地模型评估数据目录。
agent.edge.switch.on配置为true时有效。
/opt/demo/data/
edge.python
FLC自带的边缘业务训练系统使用的python路径。
/opt/cloud/3rdComponent/python3.9.2/bin/python
edge.train.file
FLC自带的边缘业务训练系统本地训练时调用的python代码入口。
agent.edge.switch.on配置为true,且use.global.algo配置为false时有效。
/opt/demo/code/main.py
edge.test.file
FLC自带的边缘业务训练系统本地模型评估时调用的python代码入口。
agent.edge.switch.on配置为true,且use.global.algo配置为false时有效。
/opt/demo/code/main.py
- 启动服务。切换至service用户,进入/opt/cloud/Federated-Client/bin目录,执行start.sh启动服务。
[root@EulerOS-BaseTemplate conf]# su - service [service@EulerOS-BaseTemplate conf]$ cd /opt/cloud/Federated-Client/bin [service@EulerOS-BaseTemplate bin]$ sh start.sh
系统提示“Start Federated-Client success”表示服务启动成功。
