Trino 구성 관리
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 템플릿을 배포하는 방법을 알아봅니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기