共用方式為


使用 Azure CLI 建立具有 Azure Data Lake Storage Gen2 的叢集

若要建立 HDInsight 叢集以使用 Data Lake Storage Gen2 作為儲存體,請遵循這些步驟。

必要條件

  • 如果您不熟悉 Azure Data Lake Storage Gen2,請參閱概觀一節。
  • 如果您還沒有 Azure 帳戶,請先註冊免費帳戶,再繼續進行。
  • 若要執行 CLI 指令碼範例,您有三個選項:
    • 從 Azure 入口網站使用 Azure Cloud Shell (請參閱下一節)。
    • 請透過每個程式碼區塊右上角的 [立即試用] 按鈕,使用內嵌的 Azure Cloud Shell。
    • 如果您偏好使用本機 CLI 主控台,請安裝最新版的 Azure CLI (2.0.13 或更新版本)。 使用與您要用來部署使用者指派的受控識別的 Azure 訂用帳戶相關聯的帳戶,利用 az login 登入 Azure。Azure CLI。

Azure Cloud Shell

Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 Azure Cloud Shell 的「試試看」範例螢幕擷取畫面。
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 啟動 Azure Cloud Shell 的按鈕。
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 顯示 Azure 入口網站中 Cloud Shell 按鈕的螢幕擷取畫面

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。

  3. 透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。

  4. 選取 Enter 鍵執行程式碼或命令。

警告

不論使用與否,HDInsight 叢集都是按分鐘計費。 請務必在使用完叢集後將它刪除。 請參閱如何刪除 HDInsight 叢集

您可以下載範例範本檔案 (英文) 及下載範例參數檔案 (英文)。 使用下方的範本和 Azure CLI 程式碼片段之前,請先以正確的值取代下列預留位置:

預留位置 描述
<SUBSCRIPTION_ID> 您 Azure 訂閱的識別碼
<RESOURCEGROUPNAME> 您想要建立新叢集和儲存體帳戶的資源群組。
<MANAGEDIDENTITYNAME> 將為其授與您具有 Azure Data Lake Storage Gen2 的儲存體帳戶權限之受控識別的名稱。
<STORAGEACCOUNTNAME> 將建立之具有 Azure Data Lake Storage Gen2 的新儲存體帳戶。
<FILESYSTEMNAME> 此叢集應該在儲存體帳戶中使用的檔案系統名稱。
<CLUSTERNAME> 您的 HDInsight 叢集名稱。
<PASSWORD> 您選擇來使用 SSH 和 Ambari 儀表板登入叢集的密碼。

下方的程式碼片段會執行下列初始步驟:

  1. 登入您的 Azure 帳戶。
  2. 設定將在其中完成建立作業的作用中訂閱。
  3. 為新的部署活動建立新的資源群組。
  4. 建立使用者指派的受控識別。
  5. 在 Azure CLI 中新增擴充功能,以使用 Data Lake Storage Gen2 的功能。
  6. 使用 --hierarchical-namespace true 旗標,來建立具有 Data Lake Storage Gen2 的新儲存體帳戶。
az login
az account set --subscription <SUBSCRIPTION_ID>

# Create resource group
az group create --name <RESOURCEGROUPNAME> --location eastus

# Create managed identity
az identity create -g <RESOURCEGROUPNAME> -n <MANAGEDIDENTITYNAME>

az extension add --name storage-preview

az storage account create --name <STORAGEACCOUNTNAME> \
    --resource-group <RESOURCEGROUPNAME> \
    --location eastus --sku Standard_LRS \
    --kind StorageV2 --hierarchical-namespace true

接下來,在入口網站中登入。 將新使用者指派的受控識別指派給儲存體帳戶上的 [儲存體 Blob 資料擁有者] 角色。 此步驟描述於使用 Azure 入口網站下方的步驟 3。

重要

確定您的儲存體帳戶含有具備 [儲存體 Blob 資料擁有者] 角色權限的使用者指派的身分識別,否則叢集建立將會失敗。

az deployment group create --name HDInsightADLSGen2Deployment \
    --resource-group <RESOURCEGROUPNAME> \
    --template-file hdinsight-adls-gen2-template.json \
    --parameters parameters.json

清除資源

完成本文之後,您可能想要刪除叢集。 利用 HDInsight,您的資料會儲存在 Azure 儲存體中,以便您在未使用叢集時安全地刪除該叢集。 您也需支付 HDInsight 叢集的費用 (即使未使用)。 由於叢集費用是儲存體費用的許多倍,所以刪除未使用的叢集符合經濟效益。

輸入所有或部分的下列命令來移除資源:

# Remove cluster
az hdinsight delete \
    --name $clusterName \
    --resource-group $resourceGroupName

# Remove storage container
az storage container delete \
    --account-name $AZURE_STORAGE_ACCOUNT \
    --name $AZURE_STORAGE_CONTAINER

# Remove storage account
az storage account delete \
    --name $AZURE_STORAGE_ACCOUNT \
    --resource-group $resourceGroupName

# Remove resource group
az group delete \
    --name $resourceGroupName

疑難排解

如果您在建立 HDInsight 叢集時遇到問題,請參閱存取控制需求

下一步

您已成功建立 HDInsight 叢集。 現在,請了解如何使用您的叢集。

Apache Spark 叢集

Apache Hadoop 叢集

Apache HBase 叢集