Share via


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

다음 단계에 따라 구성을 수정합니다.

  1. Azure 포털에 로그인합니다.

  2. Azure Portal 검색 창에 "HDInsight on AKS 클러스터"를 입력하고 드롭다운 목록에서 "Azure HDInsight on AKS 클러스터"를 선택합니다.

    HDInsight on AKS 클러스터를 시작하기 위한 검색 옵션을 보여 주는 스크린샷.

  3. 목록 페이지에서 클러스터 이름을 선택합니다.

    목록에서 필요한 HDInsight on AKS 클러스터를 선택하는 것을 보여 주는 스크린샷.

  4. “구성 관리” 블레이드로 이동합니다.

    Azure Portal 구성 관리를 보여 주는 스크린샷.

  5. 새로 추가하거나 수정하려는 구성의 기존 키 값 쌍을 업데이트합니다. 예를 들어 config.properties -> 사용자 지정 구성 -> “추가”를 클릭하여 새 구성 설정을 추가한 다음 확인을 클릭합니다.

    사용자 지정 구성을 보여 주는 스크린샷.

  6. 구성을 저장하려면 “저장”을 클릭합니다.

    구성을 저장하는 방법을 보여 주는 스크린샷.

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 템플릿을 배포하는 방법을 알아봅니다.