Angel机器学习框架在YARN集群上的部署与运行指南

Angel机器学习框架在YARN集群上的部署与运行指南

angel angel 项目地址: https://gitcode.com/gh_mirrors/ang/angel

前言

Angel作为腾讯开源的分布式机器学习框架,其原生支持在YARN集群上运行,这使得它能够无缝集成到现有的大数据生态系统中。本文将详细介绍如何在YARN环境中部署和运行Angel框架,帮助开发者快速上手这一强大的机器学习工具。

环境准备

硬件要求

  • 最小内存需求:6GB(1个PS+1个Worker+1个AM)
  • 推荐内存配置:10GB以上以获得更好的运行体验

软件依赖

  1. Hadoop集群

    • 版本要求:Hadoop 2.2.0或更高
    • 必须包含正常运行的YARN和HDFS组件
  2. 客户端环境

    • Java 1.8或更高版本
    • 能够正常提交Hadoop MR作业的环境
    • Angel发布包(angel- -bin.zip)

运行流程详解

1. 数据准备阶段

对于初次使用Angel的用户,可以使用框架自带的示例数据进行测试:

# 在HDFS上创建数据目录
hadoop fs -mkdir hdfs://my-nn:54310/test/lr_data

# 上传示例数据(以Logistic Regression为例)
hadoop fs -put data/a9a/a9a_123d_train.libsvm hdfs://my-nn:54310/test/lr_data

注意:如果使用自有数据,请确保数据格式与Angel支持的格式(如libsvm)一致。

2. 任务提交阶段

使用Angel提供的提交脚本angel-submit向YARN集群提交任务:

./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 | train | | angel.train.data.path | 训练数据HDFS路径 | hdfs://my-nn:54310/test/lr_data | | ml.model.class.name | 使用的模型类 | com.tencent.angel.ml.classification.LogisticRegression | | ml.epoch.num | 训练迭代次数 | 10 | | angel.am.memory.gb | ApplicationMaster内存(GB) | 2 | | angel.worker.memory.gb | 每个Worker内存(GB) | 2 | | angel.ps.memory.gb | 每个Parameter Server内存(GB) | 2 |

3. 任务监控与调优

任务提交后,控制台会输出监控URL,通过该URL可以:

  1. 查看任务整体运行状态
  2. 监控各个组件的资源使用情况
  3. 查看算法训练过程中的指标变化
  4. 获取详细的运行日志

性能优化建议

  1. 内存配置

    • 对于大型数据集,适当增加Worker和PS的内存配置
    • AM内存通常2-4GB足够
  2. 并行度调整

    • Worker数量应与数据分片数匹配
    • PS数量根据模型参数规模确定
  3. 数据预处理

    • 确保数据已合理分片
    • 对于稀疏数据,使用libsvm格式效率更高

常见问题排查

  1. 资源不足错误

    • 检查YARN集群可用资源
    • 适当降低内存请求或减少Worker/PS数量
  2. 数据读取失败

    • 确认HDFS路径正确
    • 检查数据格式是否符合指定类型
  3. 模型保存失败

    • 检查目标路径是否有写入权限
    • 确认HDFS存储空间充足

结语

通过本文的介绍,开发者应该已经掌握了在YARN集群上运行Angel机器学习框架的基本方法。Angel的强大之处在于它能够充分利用现有的大数据基础设施,同时提供高效的参数服务器架构来处理大规模机器学习任务。建议初次使用的用户从小规模数据开始,逐步熟悉框架特性和调优方法,再应用到实际生产环境中。

angel angel 项目地址: https://gitcode.com/gh_mirrors/ang/angel

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱勃骅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

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

抵扣说明:

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

余额充值