Trino 구성 관리
중요하다
AKS의 Azure HDInsight는 2025년 1월 31일에 사용 중지되었습니다. 이 공지 를 통해에 대해 더 알아보세요.
워크로드가 갑자기 종료되는 것을 방지하기 위해 워크로드를 Microsoft Fabric 또는 동등한 Azure 제품으로 워크로드를 마이그레이션해야 합니다.
중요하다
이 기능은 현재 미리 보기로 제공됩니다. Microsoft Azure 미리 보기 용 추가 사용 약관은 베타, 미리 보기 상태에 있거나 일반 공급으로 출시되지 않은 Azure 기능에 적용되는 추가 법적 조건을 포함합니다. 이 특정 미리 보기에 대한 정보는 Azure HDInsight on AKS 미리 보기 정보을 참조하세요. 질문 또는 기능 제안에 대한 요청을 AskHDInsight에 제출하고, 더 많은 업데이트를 위해 Azure HDInsight Community를 팔로우하세요.
AKS에서 HDInsight를 사용하는 Trino 클러스터는 오픈 소스 Trino의 대부분의 기본 구성과 함께 제공됩니다. 이 문서에서는 구성 파일을 업데이트하는 방법을 설명하고 사용자 고유의 추가 구성 파일을 클러스터에 추가합니다.
다음 두 가지 방법으로 구성을 추가/업데이트할 수 있습니다.
메모
AKS에서 HDInsight를 사용하는 Trino는 특정 구성을 적용하고 일부 파일 및/또는 속성의 수정을 금지합니다. 이 작업은 구성을 통해 적절한 보안/연결을 보장하기 위해 수행됩니다. 금지된 파일/속성의 예는 다음을 포함하지만 제한되지는 않습니다.
- 힙 크기 설정을 제외하고 jvm.config 파일.
- Node.properties: node.id, node.data-dir, log.path 등
Config.properties: http-server.authentication.*, http-server.https.* etc.
Azure Portal 사용
Azure Portal에서는 세 가지 표준 Trino 구성 집합을 수정할 수 있습니다.
- log.properties
- config.properties
- node.properties
다음 단계에 따라 구성을 수정합니다.
Azure Portal 검색 창의 드롭다운 목록에서 "AKS 클러스터의 HDInsight"를 입력하고 "AKS 클러스터의 Azure HDInsight"를 선택합니다.
목록 페이지에서 클러스터 이름을 선택합니다.
"구성 관리" 블레이드로 이동합니다.
Azure Portal 구성 관리를 보여 주는
새로 추가하거나 수정하려는 구성에 대한 기존 키 값 쌍을 업데이트합니다. 예를 들어 config.properties -> 사용자 지정 구성 -> "추가"를 클릭하여 새 구성 설정을 추가한 다음 확인을 클릭합니다.
사용자 지정 구성을 보여 주는
"저장"을 클릭하여 구성을 저장합니다.
ARM 템플릿 사용
필수 구성 요소
- AKS에서 HDInsight를 사용하는 운영 Trino 클러스터입니다.
- 클러스터에 대한 ARM 템플릿 만듭니다.
- 전체 클러스터 ARM 템플릿 샘플을 검토하십시오.
- ARM 템플릿 작성 및 배포대한 숙지
클러스터 관리
모든 Trino 구성은 properties.clusterProfile
아래의 serviceConfigsProfiles.serviceName[“trino”]
에 지정할 수 있습니다.
다음 예제에서는 coordinator/worker/miscfiles
중점을 둡니다. 카탈로그의 경우 기존 클러스터에 카탈로그 추가참조하세요.
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "catalogs",
"files": [<file-spec>,…]
},
{
"component": "coordinator",
"files": [<file-spec>,…]
},
{
"component": "worker",
"files": [<file-spec>,…]
},
{
"component": " miscfiles",
"files": [<file-spec>,…]
},
]
}
]
다양한 구성 측면을 제어하는 몇 가지 구성 요소가 있습니다.
구성 요소 이름 | 각 파일 사양에 대한 필수/허용 속성 | 묘사 |
---|---|---|
일반적인 |
filename , values |
코디네이터와 작업자 모두에 대한 구성 파일을 포함합니다. |
조정자 |
filename , values |
코디네이터 전용 구성 파일이 포함되어 있으며, 존재하는 경우 공통 구성을 재정의합니다. |
노동자 |
filename , values |
작업자에 대한 구성 파일만 포함하며, 공통 구성이 존재하는 경우 이를 재정의합니다. |
miscfiles |
filename , content |
전체 클러스터에 대해 사용자가 제공한 기타 구성 파일을 포함합니다. |
카탈로그 |
filename , 콘텐츠 또는 값 |
전체 클러스터에 대한 카탈로그 파일을 포함합니다. |
다음 예제에서는 다음을 보여 줍니다.
- 클러스터의 기본 node.environment 설정을 재정의합니다 (Trino UI에 표시됨).
- 코디네이터 및 작업자의 기본 config.properties 값을 재정의합니다.
- 샘플 리소스 그룹 json을 추가하고 이를 사용하도록 코디네이터를 구성합니다.
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "common",
"files": [
{
"fileName": "node.properties",
"values": {
"node.environment": "preview"
}
},
{
"fileName": "config.properties",
"values": {
"join-distribution-type": "AUTOMATIC",
"query.max-execution-time": "5d",
"shutdown.grace-period": "5m"
}
}
]
},
{
"component": "coordinator",
"files": [
{
"fileName": "resource-groups.properties",
"values": {
"resource-groups.configuration-manager": "file",
"resource-groups.config-file": "${MISC:resource-groups}"
}
}
]
},
{
"component": "miscfiles",
"files": [
{
"fileName": "resource-groups",
"path": "/customDir/resource-groups.json",
"content": "{\"rootGroups\":[{\"name\":\"global\",\"softMemoryLimit\":\"80%\",\"hardConcurrencyLimit\":100,\"maxQueued\":1000,\"schedulingPolicy\":\"weighted\",\"jmxExport\":true,\"subGroups\":[{\"name\":\"data_definition\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":5,\"maxQueued\":100,\"schedulingWeight\":1},{\"name\":\"adhoc\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":50,\"maxQueued\":1,\"schedulingWeight\":10,\"subGroups\":[{\"name\":\"other\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":2,\"maxQueued\":1,\"schedulingWeight\":10,\"schedulingPolicy\":\"weighted_fair\",\"subGroups\":[{\"name\":\"${USER}\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":1,\"maxQueued\":100}]}]}]},{\"name\":\"admin\",\"softMemoryLimit\":\"100%\",\"hardConcurrencyLimit\":50,\"maxQueued\":100,\"schedulingPolicy\":\"query_priority\",\"jmxExport\":true}],\"selectors\":[{\"group\":\"global.adhoc.other.${USER}\"}],\"cpuQuotaPeriod\":\"1h\"}"
}
]
}
]
}
클러스터의 변경 내용을 반영하도록 업데이트된 ARM 템플릿을 배포합니다. ARM 템플릿 배포하는 방법을 알아봅니다.