Azure PowerShell을 사용하여 HDInsight의 Apache Hadoop 클러스터 관리
Azure PowerShell은 Azure에서 작업의 배포와 관리를 제어 및 자동화하기 위해 사용할 수 있습니다. 이 문서에서는 Azure PowerShell Az 모듈을 사용하여 Azure HDInsight의 Apache Hadoop 클러스터를 관리하는 방법을 알아봅니다. HDInsight PowerShell cmdlet의 목록은 Az.HDInsight 참조를 참조하세요.
Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
사전 요구 사항
참고 항목
Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.
PowerShell Az 모듈이 설치되었습니다.
클러스터 만들기
Azure PowerShell을 사용하여 HDInsight에서 Linux 기반 클러스터 만들기
클러스터 나열
현재 구독의 클러스터를 모두 나열하려면 다음 명령을 사용합니다.
Get-AzHDInsightCluster
클러스터 표시
현재 구독의 특정 클러스터 세부 정보를 표시하려면 다음 명령을 사용합니다.
Get-AzHDInsightCluster -ClusterName <Cluster Name>
클러스터 삭제
클러스터를 삭제하려면 다음 명령을 사용합니다.
Remove-AzHDInsightCluster -ClusterName <Cluster Name>
또한 클러스터를 포함하는 리소스 그룹을 제거하여 클러스터를 삭제할 수도 있습니다. 리소스 그룹을 삭제하면 기본 스토리지 계정을 포함한 그룹 내 모든 리소스가 삭제됩니다.
Remove-AzResourceGroup -Name <Resource Group Name>
클러스터 크기 조정
클러스터 크기 조정 기능을 사용하여 클러스터를 다시 생성하지 않고 Azure HDInsight에서 실행되는 클러스터에서 사용되는 작업자 노드 수를 변경합니다. Azure PowerShell을 사용하여 Hadoop 클러스터 크기를 변경하려면 클라이언트 컴퓨터에서 다음 명령을 실행합니다.
Set-AzHDInsightClusterSize -ClusterName <Cluster Name> -TargetInstanceCount <NewSize>
클러스터 크기 조정에 대한 자세한 내용은 HDInsight 클러스터 크기 조정을 참조하세요.
HTTP 사용자 자격 증명 업데이트
Set-AzHDInsightGatewayCredential은 Azure HDInsight 클러스터의 게이트웨이 HTTP 자격 증명을 설정합니다.
$clusterName = "CLUSTERNAME"
$credential = Get-Credential -Message "Enter the HTTP username and password:" -UserName "admin"
Set-AzHDInsightGatewayCredential -ClusterName $clusterName -HttpCredential $credential
기본 스토리지 계정 찾기
다음 PowerShell 스크립트에서는 클러스터에 대한 기본 스토리지 계정 이름 및 관련 정보를 가져오는 방법을 보여 줍니다.
#Connect-AzAccount
$clusterName = "<HDInsight Cluster Name>"
$clusterInfo = Get-AzHDInsightCluster -ClusterName $clusterName
$storageInfo = $clusterInfo.DefaultStorageAccount.split('.')
$defaultStoreageType = $storageInfo[1]
$defaultStorageName = $storageInfo[0]
echo "Default Storage account name: $defaultStorageName"
echo "Default Storage account type: $defaultStoreageType"
if ($defaultStoreageType -eq "blob")
{
$defaultBlobContainerName = $cluster.DefaultStorageContainer
$defaultStorageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $defaultStorageAccountName)[0].Value
$defaultStorageAccountContext = New-AzStorageContext -StorageAccountName $defaultStorageAccountName -StorageAccountKey $defaultStorageAccountKey
echo "Default Blob container name: $defaultBlobContainerName"
echo "Default Storage account key: $defaultStorageAccountKey"
}
리소스 그룹 찾기
Resource Manager 모드에서 각 HDInsight 클러스터는 Azure 리소스 그룹에 속합니다. 리소스 그룹을 찾으려면:
$clusterName = "<HDInsight Cluster Name>"
$cluster = Get-AzHDInsightCluster -ClusterName $clusterName
$resourceGroupName = $cluster.ResourceGroup
작업 제출
MapReduce 작업을 제출하려면
HDInsight에 포함된 MapReduce 예제 실행을 참조하세요.
Apache Hive 작업을 제출하려면
PowerShell을 사용하여 Apache Hive 쿼리 실행을 참조하세요.
Apache Sqoop 작업을 제출하려면
HDInsight에서 Apache Sqoop 사용을 참조하세요.
Apache Oozie 작업을 제출하려면
Apache Hadoop과 함께 Apache Oozie를 사용하여 HDInsight에서 워크플로 정의 및 실행을 참조하세요.
개발자와 관리자는 응용 프로그램을 빌드하거나 관리하는 데 필요한 유틸리티를 모든 가상 머신이나 역할 인스턴스에 다 설치하지 않고, 모든 구성 요소에서 사용할 수 있는 File Storage 공유에 저장할 수 있습니다.
HDInsight에 데이터 업로드를 참조하세요.