使用 Azure CLI 使用 Data Lake 儲存體 Gen2 建立叢集

若要建立使用 Data Lake 儲存體 Gen2 進行記憶體的 HDInsight 叢集,請遵循下列步驟。

必要條件

  • 如果您不熟悉 Azure Data Lake 儲存體 Gen2,請參閱概觀一
  • 如果您還沒有 Azure 帳戶, 請先註冊免費帳戶 ,再繼續進行。
  • 若要執行 CLI 文稿範例,您有三個選項:

Azure Cloud Shell

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

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 Screenshot that shows an example of Try It for Azure Cloud Shell.
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 Button to launch Azure Cloud Shell.
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 Screenshot that shows the Cloud Shell button in the Azure portal

若要使用 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 儲存體 Gen2 授與記憶體帳戶許可權的受控識別名稱。
<STORAGEACCOUNTNAME> 將會建立具有 Azure Data Lake 儲存體 Gen2 的新記憶體帳戶。
<FILESYSTEMNAME> 此叢集應該在記憶體帳戶中使用的文件系統名稱。
<CLUSTERNAME> HDInsight 叢集的名稱。
<PASSWORD> 您所選擇的密碼是使用 SSH 和 Ambari 儀表板登入叢集。

下列代碼段會執行下列初始步驟:

  1. 登入您的 Azure 帳戶。
  2. 設定將執行建立作業的作用中訂用帳戶。
  3. 為新的部署活動建立新的資源群組。
  4. 建立使用者指派的受控識別。
  5. 將擴充功能新增至 Azure CLI,以使用 Data Lake 儲存體 Gen2 的功能。
  6. 使用 --hierarchical-namespace true 旗標,使用 Data Lake 儲存體 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 叢集