使用 Azure CLI 使用 Data Lake 儲存體 Gen2 建立叢集
若要建立使用 Data Lake 儲存體 Gen2 進行記憶體的 HDInsight 叢集,請遵循下列步驟。
必要條件
- 如果您不熟悉 Azure Data Lake 儲存體 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 儲存體 Gen2 授與記憶體帳戶許可權的受控識別名稱。 |
<STORAGEACCOUNTNAME> |
將會建立具有 Azure Data Lake 儲存體 Gen2 的新記憶體帳戶。 |
<FILESYSTEMNAME> |
此叢集應該在記憶體帳戶中使用的文件系統名稱。 |
<CLUSTERNAME> |
HDInsight 叢集的名稱。 |
<PASSWORD> |
您所選擇的密碼是使用 SSH 和 Ambari 儀表板登入叢集。 |
下列代碼段會執行下列初始步驟:
- 登入您的 Azure 帳戶。
- 設定將執行建立作業的作用中訂用帳戶。
- 為新的部署活動建立新的資源群組。
- 建立使用者指派的受控識別。
- 將擴充功能新增至 Azure CLI,以使用 Data Lake 儲存體 Gen2 的功能。
- 使用
--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 叢集
- 使用指令碼動作來自訂 Linux 型 HDInsight 叢集
- 使用 Scala 建立獨立應用程式
- 利用 Apache Livy 在 Apache Spark 叢集上遠端執行作業
- Apache Spark 和 BI:在 HDInsight 中搭配 BI 工具使用 Spark 執行互動式資料分析
- Apache Spark 和機器學習服務:在 HDInsight 中使用 Spark 預測食品檢查結果