在 HDInsight 中的 Hadoop 群集上使用空边缘节点

了解如何将空边缘节点添加到 HDInsight 群集。 空边缘节点是安装并配置了与头节点中相同的客户端工具,但未运行 Hadoop 服务的 Linux 虚拟机。 可以使用该边缘节点来访问群集、测试客户端应用程序和托管客户端应用程序。

可以将空边缘节点添加到现有 HDInsight 群集,或者在创建群集时将此类节点添加到新群集。 添加空边缘节点的操作是使用 Azure Resource Manager 模板完成的。 以下示例演示如何使用模板执行此操作:

"resources": [
    {
        "name": "[concat(parameters('clusterName'),'/', variables('applicationName'))]",
        "type": "Microsoft.HDInsight/clusters/applications",
        "apiVersion": "2015-03-01-preview",
        "dependsOn": [ "[concat('Microsoft.HDInsight/clusters/',parameters('clusterName'))]" ],
        "properties": {
            "marketPlaceIdentifier": "EmptyNode",
            "computeProfile": {
                "roles": [{
                    "name": "edgenode",
                    "targetInstanceCount": 1,
                    "hardwareProfile": {
                        "vmSize": "Standard_D3"
                    }
                }]
            },
            "installScriptActions": [{
                "name": "[concat('emptynode','-' ,uniquestring(variables('applicationName')))]",
                "uri": "[parameters('installScriptAction')]",
                "roles": ["edgenode"]
            }],
            "uninstallScriptActions": [],
            "httpsEndpoints": [],
            "applicationType": "CustomApplication"
        }
    }
],

如示例中所示,可以选择性地调用脚本操作来执行其他配置,例如,在边缘节点中安装 Apache Hue。 脚本操作脚本必须可在 Web 上公开访问。 例如,如果该脚本存储在 Azure 存储中,请使用公共容器或公共 blob。

边缘节点虚拟机大小必须满足 HDInsight 群集工作节点 vm 的大小要求。 有关建议的工作节点 vm 的大小信息,请参阅在 HDInsight 中创建 Hadoop 群集

创建边缘节点后,可以使用 SSH 连接到该节点,运行客户端工具访问 HDInsight 中的 Hadoop 群集。

Warning

在 HDInsight 中使用空边缘节点的功能目前处于预览状态。 安装在空边缘节点上的自定义组件将从 Azure 得到商业上合理的支持。 这或许可解决遇到的问题。 或者也可参考社区资源,获取更多帮助。 以下是一些可获得社区帮助的最活跃站点:

如果使用的是 Apache 技术,可通过 http://apache.org 上的 Apache 项目站点(如 Hadoop 站点)获取帮助。

将边缘节点添加到现有群集

本部分介绍如何使用 Resource Manager 模板将边缘节点添加到现有 HDInsight 群集。 可以在 GitHub 中找到 Resource Manager 模板。 Resource Manager 模板调用位于 https://raw.githubusercontent.com/hdinsight/Iaas-Applications/master/EmptyNode/scripts/EmptyNodeSetup.sh 的脚本操作脚本。 该脚本不执行任何操作。 它只是演示如何从 Resource Manager 模板调用脚本操作。

将空边缘节点添加到现有群集

  1. 创建一个 HDInsight 群集(如果没有)。 请参阅 Hadoop 教程:开始在 HDInsight 中使用 Hadoop
  2. 单击以下图像登录到 Azure,然后在 Azure 门户中打开 Azure Resource Manager 模板。

    Deploy to Azure

  3. 配置以下属性:

    • 订阅:选择用于创建此群集的 Azure 订阅。
    • 资源组:选择现有 HDInsight 群集所用的资源组。
    • 位置:选择现有 HDInsight 群集的位置。
    • 群集名称:输入现有 HDInsight 群集的名称。
    • 边缘节点大小:选择一个 VM 大小。 VM 大小必须满足工作节点 VM 大小要求。 有关建议的工作节点 vm 的大小信息,请参阅在 HDInsight 中创建 Hadoop 群集
    • 边缘节点前缀:默认值为 new。 如果使用默认值,边缘节点的名称为 new-edgenode。 可以通过门户自定义前缀。 也可以通过模板自定义完整名称。
  4. 选中“我同意上述条款和条件”,并单击“购买”创建边缘节点。

Important

请确保选择现有 HDInsight 群集的 Azure 资源组。 否则,会收到错误消息“无法对嵌套资源执行请求的操作。 父资源 '<ClusterName>' 未找到。”

创建群集时添加边缘节点

本部分介绍如何使用 Resource Manager 模板创建包含边缘节点的 HDInsight 群集。 可以在 Azure 快速启动模板库中找到 Resource Manager 模板。 资源管理器模板调用位于 https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-hdinsight-linux-with-edge-node/scripts/EmptyNodeSetup.sh 的脚本操作。该脚本不执行任何操作。 它只是演示如何从 Resource Manager 模板调用脚本操作。

将空边缘节点添加到现有群集

  1. 创建一个 HDInsight 群集(如果没有)。 请参阅开始在 HDInsight 中使用 Hadoop
  2. 单击以下图像登录到 Azure,然后在 Azure 门户中打开 Azure Resource Manager 模板。

    Deploy to Azure

    Note

    必须修改从 GitHub 存储库“azure-quickstart-templates”下载的模板,以适应 Azure 中国云环境。 例如,将一些终结点 -“blob.core.chinacloudapi.cn”替换为“blob.core.chinacloudapi.cn”,将“cloudapp.azure.com”替换为“chinacloudapp.cn”;将允许的位置更改为“中国北部”和“中国东部”;将 HDInsight Linux 版本更改为 Azure 中国区支持的版本 3.5。

  3. 配置以下属性:

    • 订阅:选择用于创建此群集的 Azure 订阅。
    • 资源组:创建用于群集的新资源组。
    • 位置:选择资源组的位置。
    • 群集名称:输入要创建的新群集的名称。
    • 群集登录用户名:输入 Hadoop HTTP 用户名。 默认名称为 admin
    • 群集登录密码:输入 Hadoop HTTP 用户密码。
    • SSH 用户名:输入 SSH 用户名。 默认名称为 sshuser
    • SSH 密码:输入 SSH 用户密码。
    • 安装脚本操作:保留本教程自始至终使用的默认值。

      模板中已硬编码某些属性:群集类型、群集辅助角色节点计数、边缘节点大小和边缘节点名称。

  4. 选中“我同意上述条款和条件”,并单击“购买”,以创建包含该边缘节点的群集。

访问边缘节点

边缘节点 ssh 终结点为 <边缘节点名称>.<群集名称>-ssh.azurehdinsight.cn:22。 例如,new-edgenode.myedgenode0914-ssh.azurehdinsight.cn:22。

在 Azure 门户上,边缘节点显示为应用程序。 门户中提供了使用 SSH 访问边缘节点时所需的信息。

验证边缘节点 SSH 终结点

  1. 登录到 Azure 门户
  2. 打开包含边缘节点的 HDInsight 群集。
  3. 在群集边栏选项卡中单击“应用程序”。 此时显示该边缘节点。 默认名称为 new-edgenode
  4. 单击该边缘节点。 此时显示 SSH 终结点。

在边缘节点上使用 Hive

  1. 使用 SSH 连接到边缘节点。 有关信息,请参阅将 SSH 与 HDInsight 配合使用

  2. 使用 SSH 连接到边缘节点后,使用以下命令打开 Hive 控制台:

     hive
    
  3. 运行以下命令显示群集中的 Hive 表:

     show tables;
    

删除边缘节点

可以在 Azure 门户中删除边缘节点。

访问边缘节点

  1. 登录到 Azure 门户
  2. 打开包含边缘节点的 HDInsight 群集。
  3. 在群集边栏选项卡中单击“应用程序”。 此时显示边缘节点的列表。
  4. 右键单击要删除的边缘节点,并单击“删除”。
  5. 单击“是”确认。

后续步骤

本文介绍了如何添加边缘节点以及如何访问边缘节点。 若要了解更多信息,请参阅下列文章: