Trino 구성 관리
참고 항목
2025년 1월 31일에 Azure HDInsight on AKS가 사용 중지됩니다. 2025년 1월 31일 이전에 워크로드가 갑자기 종료되지 않도록 워크로드를 Microsoft Fabric 또는 동등한 Azure 제품으로 마이그레이션해야 합니다. 구독의 나머지 클러스터는 호스트에서 중지되고 제거됩니다.
사용 중지 날짜까지 기본 지원만 사용할 수 있습니다.
Important
이 기능은 현지 미리 보기로 제공됩니다. Microsoft Azure 미리 보기에 대한 보충 사용 약관에는 베타 또는 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 더 많은 약관이 포함되어 있습니다. 이 특정 미리 보기에 대한 자세한 내용은 Azure HDInsight on AKS 미리 보기 정보를 참조하세요. 질문이나 기능 제안이 있는 경우 세부 정보와 함께 AskHDInsight에 요청을 제출하고 Azure HDInsight 커뮤니티에서 추가 업데이트를 보려면 팔로우하세요.
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 포털에 로그인합니다.
Azure Portal 검색 창에 "HDInsight on AKS 클러스터"를 입력하고 드롭다운 목록에서 "Azure HDInsight on AKS 클러스터"를 선택합니다.
목록 페이지에서 클러스터 이름을 선택합니다.
“구성 관리” 블레이드로 이동합니다.
새로 추가하거나 수정하려는 구성의 기존 키 값 쌍을 업데이트합니다. 예를 들어 config.properties -> 사용자 지정 구성 -> “추가”를 클릭하여 새 구성 설정을 추가한 다음 확인을 클릭합니다.
구성을 저장하려면 “저장”을 클릭합니다.
ARM 템플릿 사용
필수 조건
- HDInsight on AKS를 사용하는 운영 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 |
코디네이터 전용 구성 파일을 포함하며 파일이 있는 경우 공통을 재정의합니다. |
worker | 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 템플릿을 배포하는 방법을 알아봅니다.