Angel在Yarn上的部署教程:从编译到运行的完整流程

Angel在Yarn上的部署教程:从编译到运行的完整流程

【免费下载链接】angel 【免费下载链接】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相关脚本

Angel编译环境

🚀 Yarn运行环境配置

环境要求

Angel在Yarn上运行需要:

  • Hadoop集群 - 包含Yarn和HDFS,版本>=2.2.0
  • 客户端Gateway - 用于提交Angel任务
  • 充足资源 - 至少需要6GB内存(1PS+1Worker+1AM)

资源参数配置详解

运行Angel任务需要配置以下关键参数:

组件内存配置CPU VCore数量
Master2GB11
Worker2-8GB1-4根据数据量确定
PS2-8GB1-4Worker数量的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日志 - 参数存储和更新情况

Worker运行日志

常见问题解决

  1. 资源不足 - 确保Yarn集群有足够的内存和VCore
  2. 数据格式错误 - 确认训练数据格式为libsvm或dummy
  • 模型维度不匹配 - 检查ml.feature.index.range参数

💡 优化建议

性能调优技巧

  • Worker数量 - 根据数据量调整,单个Worker处理1-5GB数据
  • PS数量 - 一般为Worker数量的1/5-4/5
  • 内存配置 - 参考公式精确计算所需内存

通过本教程,你已经掌握了Angel在Yarn上从编译到部署的完整流程。现在就可以在你的Hadoop集群上尝试运行第一个Angel任务了!🎉

【免费下载链接】angel 【免费下载链接】angel 项目地址: https://gitcode.com/gh_mirrors/ang/angel

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值