当前位置: 首页 > 文档资料 > Angel 中文文档 >

系统配置

优质
小牛编辑
131浏览
2023-12-01

输入输出路径,运行模式,部署模式等相关配置

配置项名称默认值配置项含义
action.typetrainAngel task的运行方式,目前主要有两种“train”和“predict”,分别表示模型训练和使用模型进行预测
angel.output.path.deleteonexistfalse当输出路径存在时,是否直接覆盖
angel.train.data.path训练数据所在路径,该选项用于“train”运行方式下
angel.predict.data.path预测数据所在路径,该选项用于“predict”运行方式下
angel.input.formatcom.tencent.angel.data.inputformat.BalanceInputFormat训练数据文件格式,主要用于训练数据划分和读取,可支持自定义格式
angel.predict.out.path预测结果存储路径,该选项只用于“predict”运行方式
angel.save.model.path模型存储路径,该选项只用于“train”运行方式
angel.load.model.path模型加载路径,该选项可用于“train”和“predict”运行方式。用于“train”时表示增量学习,即加载旧模型,利用新的训练数据在此基础上得到新的模型;用于“predict”时表示加载该模型进行预测
angel.deploy.modeYARN部署方式,目前支持“YARN”和“LOCAL”两种方式,“LOCAL”部署方式下目前只支持启动一个Worker和PS
angel.running.modeANGEL_PS_WORKER运行模式,目前支持“ANGEL_PS_WORKER”和“ANGEL_PS”两种模式。“ANGEL_PS_WORKER”表示启动PS和Worker组件,即Angel自己就可以完成整个任务的计算;“ANGEL_PS”表示PS-Service,即只启动PS,向第三方计算平台(例如spark)提供PS服务
angel.job.libjarsAngel计算任务需要依赖的jar包,多个jar包之间使用逗号分隔
queueAngel计算任务使用的资源池,用于Yarn模式下的资源管理
angel.job.nameangel appAngel计算任务的名字
angel.app.config.fileAngel支持命令行参数设置和配置文件两种方式,当使用配置文件时,可以上传一个xml格式的参数配置文件
angel.app.submit.classcom.tencent.angel.utils.DefaultAppSubmitterAngel任务提交类
angel.task.user.task.classcom.tencent.angel.worker.task.BaseTaskAngel worker运行的task类,用户可以根据需求自定义task类,但需要继承com.tencent.angel.worker.task.BaseTask

资源与运行环境相关配置

配置项名称默认值配置项含义
angel.am.envAngel Master环境变量设置,形式为K1=V1,K2=V2
angel.worker.envAngel Worker环境变量设置,形式为K1=V1,K2=V2
angel.ps.envAngel PS环境变量设置,形式为K1=V1,K2=V2
angel.workergroup.number1需要启动的workergroup数量,目前一个workergroup仅支持一个worker,因此worker和workergroup数量相等
angel.worker.task.number1每个worker上运行的task数量
angel.ps.number1需要启动的ps数量
angel.am.cpu.vcores1Angel master使用的CPU vcore数量
angel.am.memory.mb1280Angel master使用的内存大小,以MB为单位
angel.am.memory.gb2Angel master使用的内存大小,以GB为单位
angel.am.java.optsAngel master进程JVM参数
angel.worker.cpu.vcores1一个worker使用的vcore数量
angel.worker.memory.mb4096一个worker使用的内存大小,以MB为单位
angel.worker.memory.gb4一个worker使用的内存大小,以GB为单位
angel.worker.java.optsworker进程JVM参数
angel.ps.cpu.vcores1一个PS使用的vcore数量
angel.ps.memory.mb4096一个PS使用的内存大小,以MB为单位
angel.ps.memory.gb4一个PS使用的内存大小,以GB为单位
angel.ps.java.optsPS进程JVM参数

RPC相关配置

配置项名称默认值配置项含义
angel.am.heartbeat.interval.ms5000Angel master向Yarn RM发送心跳的时间间隔,单位为毫秒
angel.worker.heartbeat.interval.ms5000Angel worker向Angel master发送心跳的时间间隔,单位为毫秒
angel.ps.heartbeat.interval.ms5000Angel PS向Angel master发送心跳的时间间隔,单位为毫秒
angel.netty.matrixtransfer.client.sndbuf1048576Netty矩阵传输客户端使用的发送缓冲区的大小,单位为字节。PSAgent和PS之间的矩阵数据传输使用的网络框架是Netty,PSAgent为客户端,所以Netty客户端位于PSAgent侧。
angel.netty.matrixtransfer.client.rcvbuf1048576Netty矩阵传输客户端使用的接收缓冲区的大小,单位为字节。
angel.netty.matrixtransfer.client.eventgroup.threadnumavailableProcessors * 2Netty矩阵传输客户端使用的工作线程数量(NioEventLoopGroup使用的线程数)。
angel.netty.matrixtransfer.client.usedirectbuffertrueNetty矩阵传输客户端是否要使用direct buffer。true表示要使用direct buffer,false表示使用普通堆内存。
angel.netty.matrixtransfer.server.sndbuf1048576Netty矩阵传输服务端使用的发送缓冲区的大小,单位为字节。PSAgent和PS之间的矩阵数据传输使用的网络框架是Netty,PS为服务端。
angel.netty.matrixtransfer.server.rcvbuf1048576Netty矩阵传输服务端使用的接收缓冲区的大小,单位为字节。
angel.netty.matrixtransfer.server.eventgroup.threadnumavailableProcessors * 2Netty矩阵传输服务端使用的工作线程数量(NioEventLoopGroup使用的线程数)。
angel.netty.matrixtransfer.server.usedirectbuffertrueNetty矩阵传输服务端是否要使用direct buffer。true表示要使用direct buffer,false表示使用普通堆内存。
angel.netty.matrixtransfer.max.message.size1073741824Netty矩阵传输支持的最大的单个消息的大小,单位为字节,默认为100M。
angel.matrixtransfer.max.requestnum.perserver16PSAgent能够最多同时向一个PS发起多少个请求,该参数用于流量控制,避免同时向一个PS发起太多请求而导致出流量占满,进而导致发往其他PS的请求等待。
angel.matrixtransfer.max.requestnum1024PSAgent能够最多同时向所有PS发起多少个请求,该参数用于流量控制。

系统可用性相关配置

配置项名称默认值配置项含义
angel.am.max-attempts2Master最大运行尝试次数。
angel.worker.max-attempts4Worker最大运行尝试次数。
angel.ps.max-attempts4PS最大运行尝试次数。
angel.am.appstate.timeout.ms600000Application处于临时状态最大允许时间,单位为毫秒。临时状态指的是除了RUNNING和COMMITTING外的其他状态,如果处于临时状态的时间超过了限制,Application将会退出
angel.am.write.state.interval.ms10000Master将作业状态信息写入hdfs时间间隔,单位为毫秒。
angel.worker.heartbeat.interval.ms5000Worker向Master发送的心跳间隔时间,单位为毫秒。
angel.worker.heartbeat.timeout.ms600000Worker向Master发送的心跳超时时间,单位为毫秒。如果一个Worker超过该时间没有向Master上报心跳,将会被Master判定为异常。
angel.ps.heartbeat.interval.ms5000PS向Master发送的心跳间隔时间,单位为毫秒。
angel.ps.heartbeat.timeout.ms600000PS向Master发送的心跳超时时间,单位为毫秒。如果一个PS超过该时间没有向Master上报心跳,将会被Master判定为异常。
angel.ps.backup.interval.ms300000PS将所承载的参数写入hdfs间隔时间,单位为毫秒。PS会每隔一段时间将存储在其上的矩阵参数写入hdfs,用在PS宕机恢复。
angel.matrixtransfer.retry.interval.ms10000失败的矩阵传输请求重试时间间隔,单位为毫秒。
angel.matrixtransfer.request.timeout.ms30000矩阵传输请求超时时间,单位为毫秒。

日志相关配置

配置项名称默认值配置项含义
angel.am.log.levelINFOMaster日志输出级别,可配置的有DEBUG,INFO,WARN和ERROR
angel.worker.log.levelINFOWorker日志输出级别,可配置的有DEBUG,INFO,WARN和ERROR
angel.ps.log.levelINFOPS日志输出级别,可配置的有DEBUG,INFO,WARN和ERROR

缓存相关配置

配置项名称默认值配置项含义
angel.psagent.cache.sync.timeinterval.ms200PSAgent侧缓存更新时间间隔,单位为毫秒。为了实现矩阵参数预取功能,在PSAgent侧维护了一个矩阵参数的缓存,该缓存每隔一段时间和PS侧数据进行同步。
angel.task.data.storage.levelmemory_diskTask预处理过的训练数据存储方式,可选的有memory,memory_disk和disk。memory表示将所有训练数据存储在内存中,如果内存足够大,建议使用这种方式;disk表示将所有训练数据存储在本地磁盘上;memory_disk则介于两者之间,可以支持一部分放在内存中,其余的放在本地磁盘。
angel.task.memory.storage.max.mb1000每一个task运行使用多大内存来存放训练数据,单位为MB。只有当storage level配置为memory_disk时该选项才起作用。

项目地址:https://github.com/Angel-ML/angel
官网:https://angelml.ai/