在 HDInsight 中的 Apache Hadoop 叢集上使用空白邊緣節點

了解如何將空白邊緣節點新增至 HDInsight 叢集。 空白邊緣節點是安裝相同用戶端工具的 Linux 虛擬機器,而該用戶端工具的設定如同在前端節點中一樣。 但沒有 Apache Hadoop 服務正在執行。 您可以使用邊緣節點存取叢集,測試並託管您的用戶端應用程式。

您可以將空白邊緣節點新增至現有 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": "{}"
                    }
                }]
            },
            "installScriptActions": [{
                "name": "[concat('emptynode','-' ,uniquestring(variables('applicationName')))]",
                "uri": "[parameters('installScriptAction')]",
                "roles": ["edgenode"]
            }],
            "uninstallScriptActions": [],
            "httpsEndpoints": [],
            "applicationType": "CustomApplication"
        }
    }
],

如範例所示,您可選擇性地呼叫指令碼動作,以執行其他設定。 例如,在邊緣節點中安裝 Apache Hue。 指令碼動作指令碼必須可在網站上公開存取。 例如,如果指令碼儲存在 Azure 儲存體中,則需使用公用容器或公用 Blob。

邊緣節點虛擬機器大小必須符合 HDInsight 叢集背景工作節點 VM 大小需求。 如需建議的背景工作節點 VM 大小,請參閱在 HDInsight 中建立 Apache Hadoop 叢集

建立邊緣節點之後,即可使用 SSH 連線到邊緣節點,並執行用戶端工具來存取 HDInsight 中的 Hadoop 叢集。

警告

邊緣節點上安裝的自訂元件會收到來自 Microsoft 的商業上合理支援。 可能可以解決您遇到的問題。 或者,您可能需要參考社群資源以取得進一步協助。 以下是從社群取得協助的一些最活躍網站:

如果使用 Apache 技術,您可以透過位於 https://apache.org 的 Apache 專案網站 (例如 Apache Hadoop 網站) 尋求協助。

重要

Ubuntu 映像在發行後的 3 個月內就會變成可用於建立新的 HDInsight 叢集。 截至 2019 年 1 月為止,執行中的叢集 (包括邊緣節點) 都不會自動修補。 客戶必須使用指令碼動作或其他機制修補執行中的叢集。 如需詳細資訊,請參閱 HDInsight 的作業系統修補

將邊緣節點新增至現有叢集

在本節中,您會使用 Resource Manager 範本將邊緣節點新增至現有 HDInsight 叢集。 Resource Manager 範本可在 GitHub中找到。 Resource Manager 範本會呼叫位於 https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.hdinsight/hdinsight-linux-add-edge-node/scripts/EmptyNodeSetup.sh 的指令碼動作。指令碼不會執行任何動作。 其目的只是為了示範從 Resource Manager 範本呼叫指令碼動作。

  1. 選取下列影像,在 Azure 入口網站中登入 Azure 並開啟 Azure Resource Manager 範本。

    Deploy to Azure button for new cluster

  2. 設定下列屬性:

    屬性 描述
    訂用帳戶 選取用來建立叢集的 Azure 訂用帳戶。
    資源群組 選取用於現有 HDInsight 叢集的資源群組。
    Location 選取現有 HDInsight 叢集的位置。
    叢集名稱 輸入現有 HDInsight 叢集的名稱。
  3. 勾選 [我同意上方所述的條款及條件],然後選取 [購買] 以建立邊緣節點。

重要

請務必選取用於現有 HDInsight 叢集的 Azure 資源群組。 否則,您會收到錯誤訊息:「無法對巢狀資源執行所要求的作業。 找不到父資源 '<叢集名稱>'。」

在建立叢集時新增邊緣節點

在本節中,您會使用 Resource Manager 範本對邊緣節點建立 HDInsight 叢集。 Resource Manager 範本可在 Azure 快速入門範本資源庫中找到。 Resource Manager 範本會呼叫位於 https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.hdinsight/hdinsight-linux-with-edge-node/scripts/EmptyNodeSetup.sh 的指令碼動作。指令碼不會執行任何動作。 其目的只是為了示範從 Resource Manager 範本呼叫指令碼動作。

  1. 如果您還沒有 HDInsight 叢集,請予以建立。 請參閱開始在 HDInsight 中使用 Hadoop

  2. 選取下列影像,在 Azure 入口網站中登入 Azure 並開啟 Azure Resource Manager 範本。

    Deploy to Azure button for new cluster

  3. 設定下列屬性:

    屬性 描述
    訂用帳戶 選取用來建立叢集的 Azure 訂用帳戶。
    資源群組 建立用於叢集的新資源群組。
    Location 選取資源群組的位置。
    叢集名稱 輸入要建立之新叢集的名稱。
    叢集登入使用者名稱 輸入 Hadoop HTTP 使用者名稱。 預設名稱為 admin
    叢集登入密碼 輸入 Hadoop HTTP 使用者密碼。
    SSH 使用者名稱 輸入 SSH 使用者名稱。 預設名稱為 sshuser
    SSH 密碼 輸入 SSH 使用者密碼。
    安裝指令碼動作 請保留預設值以便完成本文章。

    某些屬性已被硬式編碼在範本中︰叢集類型、叢集背景工作角色節點計數、邊緣節點大小與邊緣節點名稱。

  4. 勾選 [我同意上方所述的條款及條件],然後選取 [購買] 以建立具有邊緣節點的叢集。

新增多個邊緣節點

您可以將多個邊緣節點新增至 HDInsight 叢集。 多個邊緣節點的設定只能使用 Azure Resource Manager 範本來執行。 請參閱本文開頭處的範本範例。 更新 targetInstanceCount,以反映想要建立的邊緣節點數目。

存取邊緣節點

邊緣節點 ssh 端點是 <EdgeNodeName>.<ClusterName>-ssh.azurehdinsight.net:22。 例如,new-edgenode.myedgenode0914-ssh.azurehdinsight.net:22。

在 Azure 入口網站上,邊緣節點會顯示為應用程式。 入口網站可提供您相關資訊,以便使用 SSH 存取邊緣節點。

確認邊緣節點 SSH 端點

  1. 登入 Azure 入口網站
  2. 開啟具有邊緣節點的 HDInsight 叢集。
  3. 選取應用程式。 您應該會看到邊緣節點。 預設名稱為 new-edgenode中找到。
  4. 選取邊緣節點。 您應該會看到 SSH 端點。

在邊緣節點上使用 Hive

  1. 使用 SSH 連線到邊緣節點。 如需相關資訊,請參閱搭配 HDInsight 使用 SSH

  2. 在使用 SSH 連線到邊緣節點之後,使用下列命令來開啟 Hive 主控台︰

    hive
    
  3. 執行下列命令,以顯示叢集中的 Hive 資料表︰

    show tables;
    

刪除邊緣節點

您可以從 Azure 入口網站刪除邊緣節點。

  1. 登入 Azure 入口網站
  2. 開啟具有邊緣節點的 HDInsight 叢集。
  3. 選取應用程式。 您應該會看到邊緣節點清單。
  4. 以滑鼠右鍵按一下想要刪除的邊緣節點,然後選取 [刪除]
  5. 選取以確認。

下一步

在本文中,您已了解如何新增邊緣節點以及如何存取邊緣節點。 如需詳細資訊,請參閱下列文章: