使用 Azure 门户管理 HDInsight 中的 Apache Hadoop 群集

使用 Azure门户可以管理 Azure HDInsight 中的 Apache Hadoop 群集。 使用上述选项卡选择器,可以了解如何使用其他工具在 HDInsight 中管理 Hadoop 群集。

先决条件

入门

登录到 https://portal.azure.cn

列出并显示集群

从“HDInsight 群集”页会列出现有的群集。 在门户中:

  1. 在左侧菜单中,选择“所有服务”。
  2. 在“Data + Analytics”下,选择“HDInsight 群集”。

群集主页

“HDInsight 群集”选择群集名称。 此时会打开“概览”视图,该视图类似于下图:

Azure 门户 HDInsight 群集概要

顶部菜单:

  • 移动:将群集移至其他资源组或其他订阅。
  • 删除:删除群集。
  • 刷新:刷新视图。

Left menu:

  • 顶部左侧菜单
    • 概览:提供群集的常规信息。
    • 活动日志:显示和查询活动日志。
    • 访问控制 (IAM):使用角色分配。 请参阅使用角色分配管理对 Azure 订阅资源的访问权限
    • 标记:可让用户设置键/值对,以定义云服务的自定义分类。 例如,用户可以创建名为 project的键,并对与特定项目关联的所有服务使用一个公用值。
    • 诊断和解决问题:显示故障排除信息。
    • 快速入门:显示可帮助你开始使用 HDInsight 的信息。
    • 工具:HDInsight 相关工具的帮助信息。

群集属性

在“群集主页”的“设置”下,选择“属性”。

  • 主机名:群集名称。
  • 群集 URL:Ambari Web 界面的 URL。
  • 安全外壳 (SSH):用于通过 SSH 访问群集的用户名和主机名。
  • 状态:下列其中一项:Aborted、Accepted、ClusterStorageProvisioned、AzureVMConfiguration、HDInsightConfiguration、Operational、Running、Error、Deleting、Deleted、Timedout、DeleteQueued、DeleteTimedout、DeleteError、PatchQueued、CertRolloverQueued、ResizeQueued 或 ClusterCustomization。
  • 区域:Azure 位置。 有关受支持的 Azure 位置的列表,请参阅 HDInsight 定价中的“区域”下拉列表框。
  • 创建日期:部署群集的日期。
  • 操作系统:“Windows”或“Linux”。
  • 类型:Hadoop、HBase、Storm、Spark。
  • 版本。 请参阅 HDInsight 版本
  • 订阅:订阅名称。
  • 默认数据源:默认的群集文件系统。
  • 工作节点大小:工作节点的所选 VM 大小。
  • 头节点大小:头节点的所选 VM 大小。
  • 虚拟网络:群集将要部署到的虚拟网络的名称(如果已在部署时选择)。

移动群集

可以将 HDInsight 群集移到另一个 Azure 资源组或另一个订阅。

群集主页中执行以下操作:

  1. 在顶部菜单中选择“移动”。
  2. 选择“移动到另一资源组”或“移动到另一订阅”。
  3. 按新页面中的说明操作。

删除群集

删除群集不会删除默认存储帐户或任何链接的存储帐户。 可以使用相同的存储帐户和相同的元存储来重新创建群集。 建议在重新创建群集时使用新的默认 Blob 容器。

群集主页中执行以下操作:

  1. 从顶部菜单中选择“删除”。
  2. 按新页面中的说明操作。

另请参阅暂停/关闭群集

添加其他存储帐户

创建群集后,可以添加其他 Azure 存储帐户。 有关详细信息,请参阅将其他存储帐户添加到 HDInsight

缩放群集

使用群集缩放功能可更改 Azure HDInsight 群集使用的辅助角色节点数,而无需重新创建群集。

Note

只支持使用 HDInsight 3.1.3 或更高版本的群集。 如果不确定群集的版本,可以查看“属性”页面。 请参阅列出和显示群集

群集主页中执行以下操作:

  1. 在“设置”下选择“群集大小”。
  2. 在数字文本框中输入工作节点数。 对群集节点数的限制因 Azure 订阅而异。 要增加限制,可联系计费支持人员。 成本信息反映对节点数所做的更改。
  3. 选择“其他安全性验证” 。

    HDInsight Hadoop HBase Storm Spark 缩放

对于 HDInsight 支持的每种类型的群集,更改数据节点数的影响有所不同:

  • Apache Hadoop

    可顺利增加正在运行的 Hadoop 群集中的辅助节点数,而不会影响任何挂起或运行中的作业。 也可在操作进行中提交新作业。 系统会正常处理失败的缩放操作,让群集始终保持正常运行状态。

    减少数据节点数目以缩减 Hadoop 群集时,系统会重新启动群集中的某些服务。 此行为会导致所有正在运行和挂起的作业在缩放操作完成时失败。 但是,可在操作完成后重新提交这些作业。

  • Apache HBase

    可在 HBase 群集运行时顺利添加或删除节点。 完成缩放操作后的几分钟内,区域服务器自动平衡。 但也可手动平衡区域服务器,方法是登录到群集的头节点,并在命令提示符窗口中运行以下命令:

    pushd %HBASE_HOME%\bin
    hbase shell
    balancer
    

    有关使用 HBase shell 的详细信息,请参阅 HDInsight 中的 Apache HBase 示例入门

  • Apache Storm

    可在 Storm 群集运行时顺利添加或删除数据节点。 但是,在缩放操作成功完成后,需要重新平衡拓扑。

    可以使用两种方法来完成重新平衡操作:

    • Storm Web UI
    • 命令行界面 (CLI) 工具

      有关详细信息,请参阅 Apache Storm 文档

      HDInsight 群集上提供了 Storm Web UI:

      HDInsight Storm 缩放重新平衡

      以下是用于重新平衡 Storm 拓扑的示例 CLI 命令:

      ## Reconfigure the topology "mytopology" to use 5 worker processes,
      ## the spout "blue-spout" to use 3 executors, and
      ## the bolt "yellow-bolt" to use 10 executors
      $ storm rebalance mytopology -n 5 -e blue-spout=3 -e yellow-bolt=10
      

暂停/关闭群集

大多数 Hadoop 作业只是偶尔运行的批处理作业。 大多数 Hadoop 群集都存在长时间不进行处理的情况。 有了 HDInsight,便可以将数据存储在 Azure 存储中,因此可以在群集不用时安全地删除群集。 此外,还需要支付 HDInsight 群集费用,即使未使用。 由于群集费用高于存储空间费用数倍,因此在不使用群集时将其删除可以节省费用。

可以通过许多方式对此过程进行程序性处理:

有关定价信息,请参阅 HDInsight 定价。 要从门户中删除群集,请参阅 删除群集

升级群集

请参阅将 HDInsight 群集升级到更新的版本

打开 Apache Ambari Web UI

Ambari 提供由其 RESTful API 提供支持的直观、易用的 Hadoop 管理 Web UI。 Ambari 使系统管理员能够管理和监视 Hadoop 群集。

群集主页中执行以下操作:

  1. 选择“群集仪表板”。

    HDInsight Hadoop 群集菜单

  2. 从新页面中选择“Ambari 主页”。

  3. 输入群集用户名和密码。 默认群集用户名为“admin”。Ambari Web UI 如下所示:

有关详细信息,请参阅使用 Apache Ambari Web UI 管理 HDInsight 群集

更改密码

HDInsight 群集可以有两个用户帐户。 HDInsight 群集用户帐户(即 HTTP 用户帐户)和 SSH 用户帐户是在创建过程中创建的。 可以使用门户更改群集用户帐户密码,使用脚本操作更改 SSH 用户帐户。

更改群集用户密码

Note

更改群集用户 (admin) 的密码可能会导致针对此群集运行的脚本操作失败。 如果有任何持久性脚本操作以工作节点为目标,则通过重设大小操作在群集中添加节点时,这些脚本可能会失败。 有关脚本操作的详细信息,请参阅使用脚本操作自定义 HDInsight 群集

群集主页中执行以下操作:

  1. 在“设置”下选择“SSH + 群集登录”。
  2. 选择“重置凭据”。
  3. 在文本框中输入并确认新密码。
  4. 选择“确定” 。

将在群集中的所有节点上更改密码。

更改 SSH 用户密码

  1. 使用文本编辑器将以下文本保存到名为 changepassword.sh的文件中。

    Important

    所用的编辑器必须使用 LF 作为行尾。 如果编辑器使用 CRLF,则脚本将无法正常工作。

    #! /bin/bash
    USER=$1
    PASS=$2
    usermod --password $(echo $PASS | openssl passwd -1 -stdin) $USER
    
  2. 将该文件上传到可以使用 HTTP 或 HTTPS 地址从 HDInsight 访问的存储位置。 例如,某个公共文件存储(如 OneDrive 或 Azure Blob 存储)。 将 URI(HTTP 或 HTTPS 地址)保存到文件中,因为下一步需要用到此 URI。

  3. 在“群集主页”的“设置”下,选择“脚本操作”。
  4. 在“脚本操作”边栏选项卡中,选择“提交新项”。
  5. 在“提交脚本操作”边栏选项卡中输入以下信息:

    字段
    脚本类型 从下拉列表中选择“- 自定义”。
    Name “更改 ssh 密码”
    Bash 脚本 URI changepassword.sh 文件的 URI
    节点类型:(头节点、辅助角色节点、Nimbus、监督程序、Zookeeper,等等。) ✓ 适用于所有列出的节点类型
    parameters 输入 SSH 用户名和新密码。 用户名与密码之间应有一个空格。
    保留此脚本操作... 让此字段保留未选中状态。
  6. 选择“创建”以应用脚本。 完成脚本后,可以使用新密码通过 SSH 连接到群集。

授予/撤消访问权限

HDInsight 群集提供以下 HTTP Web 服务(所有这些服务都有 REST 样式的终结点):

  • ODBC
  • JDBC
  • Ambari
  • Oozie
  • Templeton

默认情况下,这些服务会获得访问授权。 可以使用 Azure 经典 CLIAzure PowerShell 来吊销/授予访问权限。

查找订阅 ID

每个群集都绑定到一个 Azure 订阅。 Azure 订阅 ID 在群集主页中可见。

查找资源组

在 Azure Resource Manager 模式下,每个 HDInsight 群集都是使用 Azure Resource Manager 组创建的。 资源管理器组在群集主页中可见。

查找存储帐户

HDInsight 群集使用 Azure 存储帐户来存储数据。 每个 HDInsight 群集都可拥有一个默认存储帐户和多个链接的存储帐户。 若要列出存储帐户,请在群集主页的“设置”下选择“存储帐户”。

HDInsight 群集存储帐户

监视作业

请参阅使用 Apache Ambari Web UI 管理 HDInsight 群集

监视群集使用情况

HDInsight 群集边栏选项卡的“使用情况”部分会显示相关信息,方便了解订阅中可以用于 HDInsight 的核心数、分配给此群集的核心数,以及这些核心是如何分配给此群集中的节点的。 请参阅列出和显示群集

Important

若要监视 HDInsight 群集提供的服务,必须使用 Ambari Web 或 Ambari REST API。 有关如何使用 Ambari 的详细信息,请参阅使用 Apache Ambari 管理 HDInsight 群集

连接到群集

后续步骤

本文介绍了一些基本管理功能。 要了解更多信息,请参阅下列文章: