ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

在 Azure HDInsight 上部署 H2O:H2O Artificial Intelligence for HDInsight 实战指南

在 Azure HDInsight 上部署 H2O:H2O Artificial Intelligence for HDInsight 实战指南 机器学习深度学习AutoML大数据后端【免费下载链接】h2o-3H2O is an Open Source, Distributed, Fast Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc.项目地址https://gitcode.com/gh_mirrors/h2/h2o-3点击查看免费下载H2O 是一个开源、分布式、可横向扩展的机器学习平台而 Microsoft Azure 提供的虚拟机、存储、网络等云服务正好可以为数据科学环境提供基础设施。本篇指南基于 H2O-3 仓库中的官方部署文档 azure.rst完整讲解如何在 Azure HDInsight 集群创建过程中安装H2O Artificial Intelligence for HDInsight应用把 Sparkling Water 部署到 Spark 集群上打通 Azure Blob Storage / Data Lake Store 数据访问并通过 Jupyter Notebook 与 H2O Flow 快速开启建模工作。读完本篇你将掌握从 Azure 门户搜索应用、配置集群各项参数、启动 H2O 集群到完成首个 Notebook 建模的完整操作链路以及常见的故障排查方法。重要提示本文档描述的 H2O for HDInsight 功能当前处于Beta 阶段官方说明建议仅用于测试目的。H2O Artificial Intelligence for Azure HDInsight 是什么H2O Artificial Intelligence for Azure HDInsight 是可以在创建新 HDInsight 集群过程中一并安装的一个 Azure 应用。它解决的核心问题是把 H2O 的机器学习能力与 Spark 的分布式数据处理能力整合到同一个环境里该应用会在你的Spark 集群上安装 Sparkling Water从而同时利用 Spark 与 H2O 两边的优势集群可以访问Azure Blob Storage和/或Azure Data Lake Store中的数据同时支持 H2O 的所有标准数据源内置的Jupyter Notebooks预置了 H2O 示例方便快速上手。关于 Sparkling Water 的定位仓库 FAQ 文档 sparkling-water.rst 给出了更细的解释Sparkling Water 让用户能把 H2O 快速、可扩展的机器学习算法与 Spark 的能力结合从 Scala/R/Python 驱动计算并可以使用 H2O Flow UI它包含与 H2O 相同的特性和功能适合需要管理大型集群、并在 Spark 与 H2O 之间来回传递数据的用户同时提供从 PySpark 直接访问的 Python 接口。创建 H2O AI for Azure HDInsight 集群按照下面的步骤在 Azure 门户中创建一个带有 H2O Artificial Intelligence for HDInsight 的集群。第 1 步在 Azure 门户中查找并选择 H2O 应用登录你的 Azure 门户https://portal.azure.com搜索H2O从结果中选择H2O Artificial Intelligence for HDInsight。下图展示了该应用在 Azure Marketplace 中的条目界面包含 Sparkling Water 特性说明与算法列表底部是Create按钮。第 2 步点击 Create 并跟随界面指引点击Create按钮按 UI 提示逐步操作。注意H2O for HDInsight 专用于Spark HDI 集群版本 3.5HDI v3.5请确保你的集群版本匹配。第 3 步将集群类型改为 Spark 2.0.2在下一步的Basics基本信息界面中将 Cluster Type 改为Spark 2.0.2。Sparkling Water 目前仅支持Spark 2.0 及以上版本选择正确版本是后续能正常启动的前提。第 4 步接受 H2O 应用条款在Applications应用标签页中选择 H2O 应用并接受其Terms of Use使用条款。第 5 步配置凭证Credentials在Credentials凭证标签页中填写两组账号Cluster Login 用户名和密码用于连接你的集群登录 Jupyter、Ambari 等 Web 界面SSH 用户名和密码用于直接连接集群中的虚拟机VM。两组凭证用途不同需要分别妥善保管。第 6 步配置数据源Data Source在Data Source数据源标签页中可以配置Blob Storage Account或Data Lake Store中的任意一种。这里配置的存储将成为你集群HDFS 系统的存放位置H2O 训练所需的数据文件会从这里读取。这一机制与 H2O 通用数据源模型是兼容的。根据仓库文档 />这一步的关键是为 Spark 应用分配合理的资源不建议超过 worker 节点 RAM 的 75%否则应用可能因资源不足而失败详见下文“故障排查”。第 12 步启动 H2O 集群完成环境配置后在 Notebook 中执行启动代码来拉起 H2O 集群。典型的启动逻辑如下与示例 Notebook 中的做法一致import os import pyspark import pysparkling import h2o os.environ[PYTHON_EGG_CACHE] ~/ h2o_context pysparkling.H2OContext.getOrCreate(sc)运行成功后Notebook 界面会输出 H2O Flow Web UI 的访问地址例如https://ClusterName-h2o.apps.azurehdinsight.net:443如下图所示。第 13 步开始建模H2O 集群启动完成后你就可以开始构建 H2O 模型了——无论是直接在该 Notebook 中通过 PySparkling API 训练模型还是进入 H2O Flow 界面进行交互式操作。连接 H2O Flow 界面要连接H2O FlowH2O 的 Web 交互式建模界面访问https://ClusterName-h2o.apps.azurehdinsight.net/Flow 提供了导入数据、构建模型、查看模型评估结果、网格搜索、AutoML 等完整的图形化工作流是 H2O 用户最常用的入口之一。故障排查技巧Troubleshooting Tips原文档针对部署过程中的常见问题给出了三条直接可用的排查建议H2O Flow 链接打不开如果 H2O 集群创建后Flow 链接不工作、只显示 H2O 文档页面请清理浏览器缓存后重试。这是最典型的 Beta 阶段症状。资源分配超限导致失败确保集群有足够资源分配给 Spark 应用。不要给 Spark 应用分配超过 worker RAM 的 75%否则应用可能启动失败或运行中崩溃。资源配比在 Notebook 的%%configure配置中控制。查看集群可用资源如需了解集群的资源使用情况可以访问http://ClusterName.azurehdinsight.net延伸在 Azure 上的其他 H2O 部署方式除了 HDInsight 应用仓库还提供了另一条 Azure 部署路径Azure Linux Data Science VMDSVM。相关指南见 azure-dsvm.rst。DSVM 是基于 Ubuntu 的虚拟机镜像内置了 H2O 及 CNTK、TensorFlow、MXNet 等深度学习框架。其要点包括在 Marketplace 搜索并创建 Data Science Virtual Machine for Linux (Ubuntu)创建完成后在网络安全组的入站安全规则中新增一条TCP 端口 54321的规则这是 H2O Flow 的默认端口通过https://VM DNS 或 IP:8000/访问 Jupyter示例位于h2o python文件夹通过http://VM DNS 或 IP:54321/访问 H2O Flow注意 Azure 订阅默认只允许 20 核模板部署报 Validation error 时优先排查核心配额建议为数据集准备至少 4 倍大小的 RAM。两条路径的适用场景不同HDInsight 方案面向 Spark 大数据集群、需要在 Spark 与 H2O 之间协同的场景DSVM 方案面向单机快速搭建数据科学环境、直接体验 H2O 的场景。读者可根据实际需求选择。总结H2O Artificial Intelligence for HDInsight 让用户在 Azure 门户上以向导式流程完成 Spark H2O 环境的搭建创建 Spark 2.0.2 的 HDI v3.5 集群、配置 Blob/Data Lake 数据源、通过预置的 Jupyter 示例一键启动 Sparkling Water并借助 H2O Flow 进行可视化建模。部署时请牢记三个关键约束HDI v3.5 Spark 2.0.2 的版本匹配、Spark 应用内存不超过 worker RAM 的 75%以及Flow 访问异常时先清理浏览器缓存。如需进一步深入仓库中还有这些相关文档可继续阅读Sparkling Water 功能与 FAQsparkling-water.rstH2O 支持的数据源与访问方式data-sources.rstAzure Linux DSVM 部署指南azure-dsvm.rst云环境集成总览cloud-integration.rst赞分享机器学习深度学习AutoML大数据后端【免费下载链接】h2o-3H2O is an Open Source, Distributed, Fast Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc.项目地址https://gitcode.com/gh_mirrors/h2/h2o-3点击查看免费下载相关推荐docker-pull-tar与Docker CLI对比为什么这个工具更适合开发运维docker pull tar与Docker CLI对比为什么这个工具更适合开发运维 在开发和运维工作中Docker镜像的获取和管理是日常任务的重要组成部分开发工具镜像仓库打造Android动画文本Advanced Android TextView复合Drawable动画终极教程打造Android动画文本Advanced Android TextView复合Drawable动画终极教程 想要为你的Android应用添加炫酷的动画效果吗移动开发示例工程Feast on Azure使用 Terraform 一键部署 AKS Redis HDInsight Kafka 的 Feast 集群Feast on Azure使用 Terraform 一键部署 AKS Redis HDInsight Kafka 的 Feast 集群 本文基于 FMLOps后端数据工程上一篇Keychain: 安全地管理您的密码下一篇Tap4 AI Web UI 开源项目教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进