Angel在Yarn上的部署教程:从编译到运行的完整流程
【免费下载链接】angel 项目地址: https://gitcode.com/gh_mirrors/ang/angel
想要在Yarn集群上高效运行Angel分布式机器学习平台?这份终极指南将带你完成从源码编译到任务部署的完整流程,让你轻松掌握Angel在Yarn上的部署技巧!🚀
Angel是基于参数服务器理念的高性能分布式机器学习平台,专为处理高维度大模型而设计。通过将大模型合理切分到多个参数服务器节点,Angel能够轻松实现各种高效的机器学习算法,特别适合模型维度越高的场景。
📋 环境准备与编译步骤
编译环境依赖
开始之前,确保你的系统满足以下要求:
- JDK >= 1.8 - Java开发环境
- Maven >= 3.0.5 - 项目管理工具
- Python >= 3.6 - 如需运行PyAngel
- Protobuf >= 2.5.0 - 需与Hadoop环境版本保持一致
源码下载与编译
首先获取Angel源码:
git clone https://gitcode.com/gh_mirrors/ang/angel
进入源码根目录执行编译命令:
mvn clean package -Dmaven.test.skip=true
编译完成后,在dist/target目录下会生成发布包angel-${version}-bin.zip,解压后包含以下关键目录:
- bin - Angel任务提交脚本
- conf - 系统配置文件
- data - 简单测试数据
- lib - Angel的jar包和依赖jar包
- python - Python相关脚本
🚀 Yarn运行环境配置
环境要求
Angel在Yarn上运行需要:
- Hadoop集群 - 包含Yarn和HDFS,版本>=2.2.0
- 客户端Gateway - 用于提交Angel任务
- 充足资源 - 至少需要6GB内存(1PS+1Worker+1AM)
资源参数配置详解
运行Angel任务需要配置以下关键参数:
| 组件 | 内存配置 | CPU VCore | 数量 |
|---|---|---|---|
| Master | 2GB | 1 | 1 |
| Worker | 2-8GB | 1-4 | 根据数据量确定 |
| PS | 2-8GB | 1-4 | Worker数量的1/5-4/5 |
📊 实战:Logistic Regression任务部署
数据准备
使用发布包中的测试数据:
# 创建HDFS目录
hadoop fs -mkdir hdfs://my-nn:54310/test/lr_data
# 上传训练数据
hadoop fs -put data/a9a/a9a_123d_train.libsvm hdfs://my-nn:54310/test/lr_data
任务提交命令
在发布包的bin目录下使用angel-submit脚本:
./angel-submit \
--angel.app.submit.class com.tencent.angel.ml.core.graphsubmit.GraphRunner \
--angel.train.data.path "hdfs://my-nn:54310/test/lr_data" \
--angel.log.path "hdfs://my-nn:54310/test/log" \
--angel.save.model.path "hdfs://my-nn:54310/test/model" \
--action.type train \
--ml.model.class.name com.tencent.angel.ml.classification.LogisticRegression \
--ml.epoch.num 10 \
--ml.data.type libsvm \
--ml.feature.index.range 1024 \
--angel.job.name LR_test \
--angel.am.memory.gb 2 \
--angel.worker.memory.gb 2 \
--angel.ps.memory.gb 2
关键参数说明
- action.type - 计算类型(train/predict)
- angel.train.data.path - 训练数据输入路径
- angel.save.model.path - 模型保存路径
- ml.epoch.num - 训练轮数
- angel.am.memory.gb - Master内存大小
- angel.worker.memory.gb - Worker内存大小
- angel.ps.memory.gb - PS内存大小
🔍 监控与故障排查
进度观察
任务提交后,控制台会打印运行信息和URL链接,你可以通过这些链接查看:
- Master日志 - 整体任务协调信息
- Worker日志 - 具体计算过程
- PS日志 - 参数存储和更新情况
常见问题解决
- 资源不足 - 确保Yarn集群有足够的内存和VCore
- 数据格式错误 - 确认训练数据格式为libsvm或dummy
- 模型维度不匹配 - 检查
ml.feature.index.range参数
💡 优化建议
性能调优技巧
- Worker数量 - 根据数据量调整,单个Worker处理1-5GB数据
- PS数量 - 一般为Worker数量的1/5-4/5
- 内存配置 - 参考公式精确计算所需内存
通过本教程,你已经掌握了Angel在Yarn上从编译到部署的完整流程。现在就可以在你的Hadoop集群上尝试运行第一个Angel任务了!🎉
【免费下载链接】angel 项目地址: https://gitcode.com/gh_mirrors/ang/angel
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考







