使用 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 中。 | |
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 | |
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 |
若要使用 Azure Cloud Shell:
啟動 Cloud Shell。
選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。
透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。
選取 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 儀表板登入叢集的密碼。 |
下方的程式碼片段會執行下列初始步驟:
- 登入您的 Azure 帳戶。
- 設定將在其中完成建立作業的作用中訂用帳戶。
- 為新的部署活動建立新的資源群組。
- 建立使用者指派的受控識別。
- 在 Azure CLI 中新增擴充功能,以使用 Data Lake Storage Gen2 的功能。
- 使用
--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 叢集
- 使用指令碼動作來自訂 Linux 型 HDInsight 叢集
- 使用 Scala 建立獨立應用程式
- 利用 Apache Livy 在 Apache Spark 叢集上遠端執行作業
- Apache Spark 和 BI:在 HDInsight 中搭配 BI 工具使用 Spark 執行互動式資料分析
- Apache Spark 和機器學習服務:在 HDInsight 中使用 Spark 預測食品檢查結果