클러스터 구성 관리
중요하다
AKS의 Azure HDInsight는 2025년 1월 31일에 사용 중지되었습니다. 이 공지 을 통해에 대해 자세히 알아보세요.
워크로드가 갑자기 종료되는 것을 방지하기 위해 워크로드를 Microsoft Fabric 또는 동등한 Azure 제품으로 워크로드를 마이그레이션해야 합니다.
중요하다
이 기능은 현재 미리 보기로 제공됩니다. Microsoft Azure 미리 보기에 대한 추가 사용 약관은 베타 버전, 프리뷰 상태에 있거나 일반적으로 출시되지 않은 Azure 기능에 적용되는 추가적인 법적 조건을 포함합니다. 이 특정 미리 보기에 대한 자세한 내용은 Azure HDInsight on AKS 미리 보기 정보을 참조하세요. 질문이나 기능 제안이 있을 경우, AskHDInsight에 요청을 제출해 주시고, 더 많은 업데이트를 받으시려면 Azure HDInsight Community 의을 팔로우해 주세요.
AKS의 HDInsight를 사용하면 구성 속성을 조정하여 특정 설정을 사용하여 클러스터의 성능을 향상시킬 수 있습니다. 예를 들어 사용량 또는 메모리 설정입니다. 다음 작업을 수행할 수 있습니다.
- 기존 구성을 업데이트하거나 새 구성을 추가합니다.
- REST API를 사용하여 구성을 내보냅니다.
구성 사용자 지정
다음 옵션을 사용하여 구성을 사용자 지정할 수 있습니다.
Azure Portal 사용
Azure 포털에로그인합니다.
Azure Portal 검색 창의 드롭다운 목록에서 "AKS 클러스터의 HDInsight"를 입력하고 "AKS 클러스터의 Azure HDInsight"를 선택합니다.
목록 페이지에서 클러스터 이름을 선택합니다.
왼쪽 메뉴의 "구성 관리" 블레이드로 이동합니다.
구성 관리 탭을 보여 주는
클러스터 유형에 따라 구성 파일이 나열됩니다. 자세한 내용은 Trino, Flink및 Spark 구성을 참조하세요.
새로 추가하거나 수정하려는 구성에 대한 기존 키-값 쌍을 업데이트합니다.
확인 선택한 다음 저장을 클릭합니다.
메모
일부 구성 변경은 변경 내용을 반영하기 위해 서비스를 다시 시작해야 할 수 있습니다.
ARM 템플릿 사용
필수 구성 요소
- 클러스터에 대한 ARM 템플릿 .
- ARM 템플릿 작성 및 배포대한 숙지
ARM 템플릿에서 serviceConfigsProfiles 편집하고 덮어쓰려는 값으로 OSS 구성 파일 이름을 지정할 수 있습니다.
OSS 구성 파일이 JSON/XML/YAML 형식인 경우 fileName
통해 OSS 구성 파일 이름을 제공할 수 있습니다. "값"에서 덮어쓰려는 키 값 쌍을 제공합니다.
각 워크로드에 대한 몇 가지 샘플은 다음과 같습니다.
Flink 구성 예제:
"serviceConfigsProfiles": [
{
"serviceName": "flink-operator",
"configs": [
{
"component": "flink-configs",
"files": [
{
"fileName": "flink-conf.yaml",
"values": {
"taskmanager.memory.process.size": "4096mb",
"classloader.check-leaked-classloader": "false",
"jobmanager.memory.process.size": "4096mb",
"classloader.parent-first-patterns.additional": "org.apache.parquet"
}
}
]
}
]
}
]
Spark 구성 예제:
"serviceConfigsProfiles": [
{
"serviceName": "spark-service",
"configs": [
{
"component": "livy-config",
"files": [
{
"fileName": "livy-client.conf",
"values": {
"livy.client.http.connection.timeout": "11s"
}
}
]
},
{
"component": "spark-config",
"files": [
{
"fileName": "spark-env.sh",
"content": "# - SPARK_HISTORY_OPTS, to set config properties only for the history server (e.g. \"-Dx=y\")\nexport HDP_VERSION=3.3.3.5.2-83515052\n"
}
]
}
]
}
]
Trino 구성 예제:
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "coordinator",
"files": [
{
"fileName": "config.properties",
"values": {
"query.cache.enabled": "true",
"query.cache.ttl": "1h",
"query.enable-multi-statement-set-session": "true",
"query.max-memory": "301GB"
}
},
{
"fileName": "log.properties",
"values": {
"io.trino": "INFO"
}
}
]
}
]
Trino 구성 옵션에 대한 자세한 내용은 샘플 ARM 템플릿을 참조하세요.
REST API를 사용하여 구성 내보내기
클러스터 구성을 내보내 기본값과 업데이트된 값을 확인할 수도 있습니다. 현재 REST API를 통해서만 구성을 내보낼 수 있습니다.
클러스터 구성 가져오기:
GET Request: /subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}
REST API 호출을 보내는 방법을 잘 모르는 경우 다음 단계를 통해 도움이 될 수 있습니다.
Azure Portal의 오른쪽 위에 있는 다음 단추를 클릭하여 Azure Cloud Shell을 시작합니다.
Cloud Shell이 왼쪽 위에 있는 PowerShell로 설정되어 있는지 확인합니다. 다음 명령을 실행하여 토큰을 가져오고 HTTP 요청 헤더를 설정합니다.
$azContext = Get-AzContext $azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile $profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile) $token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId) $authHeader = @{ 'Content-Type'='application/json' 'Authorization'='Bearer ' + $token.AccessToken }
$restUri 변수를 요청 가져오기 URL로 설정합니다.
$restUri = 'https://management.azure.com/subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}'
예:
$restUri = 'https://management.azure.com/subscriptions/xxx-yyyy-zzz-00000/resourceGroups/contosoRG/providers/Microsoft.HDInsight/clusterpools/contosopool/clusters/contosocluster/serviceConfigs?api-version=2021-09-15-preview
메모
Azure Portal에서 클러스터의 "JSON 보기"에서 리소스 ID 및 up-to-date api-version을 가져올 수 있습니다.
다음 명령을 실행하여 GET 요청을 보냅니다.
Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10