Windows에서 PolyBase 스케일 아웃 그룹 구성

적용 대상:SQL Server - Windows 전용 Azure SQL Managed Instance

이 문서에서는 Windows에서 PolyBase 스케일 아웃 그룹을 설정하는 방법을 설명합니다. 이렇게 하면 SQL Server 인스턴스 클러스터를 만들어 쿼리 성능을 향상하기 위해 Hadoop 또는 Azure Blob Storage와 같은 외부 데이터 원본에서 대규모 데이터 집합을 스케일 아웃 방식으로 처리합니다.

Important

Microsoft SQL Server PolyBase 스케일 아웃 그룹은 사용 중지됩니다. 스케일 아웃 그룹 기능은 SQL Server 2022(16.x) 제품에서 제거됩니다. PolyBase 데이터 가상화는 SQL Server 스케일 업 기능으로 계속 완벽하게 지원됩니다. 자세한 내용은 Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

필수 조건

  • 동일한 도메인에 둘 이상의 시스템이 있습니다.

  • PolyBase 서비스를 실행할 기본 사용자 계정입니다. gMSA(그룹 관리 서비스 계정)를 사용하는 것이 좋습니다. 자세한 내용은 그룹 관리 서비스 계정 개요를 참조하세요.

프로세스 개요

다음 단계에서는 PolyBase 스케일 아웃 그룹을 만드는 프로세스를 요약합니다. 다음 섹션에서는 각 단계에 대한 보다 자세한 연습을 제공합니다.

  1. N 컴퓨터에 PolyBase를 사용하여 동일한 버전의 SQL Server를 설치합니다.

  2. 하나의 SQL Server 인스턴스를 헤드 노드로 선택합니다.

  3. sp_polybase_join_group 사용하여 SQL Server 인스턴스를 컴퓨팅 노드로 다시 기본 추가합니다.

  4. sys.dm_exec_compute_nodes(Transact-SQL)를 사용하여 그룹의 노드를 모니터링합니다.

  5. 선택 사항. sp_polybase_leave_group(Transact-SQL)를 사용하여 컴퓨팅 노드를 제거합니다.

연습 예제

다음을 사용하여 PolyBase 그룹을 구성하는 단계를 안내합니다.

  1. do기본 PQTH4A의 두 컴퓨터 이름은 다음과 같습니다.

    • PQTH4A-CMP01

    • PQTH4A-CMP02

  2. do기본 account: PQTH4A\PolyBaseUser

모든 컴퓨터에 PolyBase를 사용하여 SQL Server 설치

  1. setup.exe를 실행합니다.

  2. 기능 선택 페이지에서 외부 데이터용 PolyBase 쿼리 서비스를 선택합니다.

  3. 서버 구성 페이지에서 SQL Server PolyBase 엔진 및 SQL Server PolyBase 데이터 이동 서비스에 대해 do기본 계정 PQTH4A\PolyBaseUser를 사용합니다.

  4. PolyBase 구성 페이지에서 PolyBase 스케일 아웃 그룹의 일부로 SQL Server 인스턴스 사용옵션을 선택합니다. 이 옵션은 PolyBase 서비스로 들어오는 연결을 허용하도록 방화벽을 엽니다. SQL Server 설치 마법사는 Windows Server 방화벽에서 1433,16450-16453 및 17001 TCP 포트를 자동으로 노출합니다. 헤드 노드가 명명된 SQL Server 인스턴스인 경우 헤드 노드의 Windows 방화벽에 SQL Server 포트를 수동으로 추가하고 헤드 노드에서 SQL Browser를 시작해야 합니다. 포트는 PolyBase 스케일 아웃 그룹의 서버 방화벽에서만 허용되어야 합니다.

  5. 설치가 완료되면 services.msc를 실행합니다. SQL Server, PolyBase 엔진 및 PolyBase 데이터 이동 서비스가 실행 중인지 확인합니다.

    A screenshot from SQL Server Configuration Manager, showing the PolyBase services.

하나의 SQL Server를 헤드 노드로 선택

설치가 완료되면 두 컴퓨터가 모두 PolyBase 그룹 헤드 노드로 작동할 수 있습니다. 이 예제에서는 PQTH4A-CMP01에서 "MSSQLSERVER" 인스턴스를 헤드 노드로 선택합니다.

다른 SQL Server 인스턴스를 컴퓨팅 노드로 추가

  1. PQTH4A-CMP02의 SQL Server에 커넥트.

  2. 저장 프로시저 sp_polybase_join_group을 실행합니다.

    -- Enter head node details:
    -- head node machine name, head node dms control channel port, head node sql server name  
     EXEC sp_polybase_join_group 'PQTH4A-CMP01', 16450, 'MSSQLSERVER';
    
  3. 컴퓨팅 노드(PQTH4A-CMP02)에서 services.msc를 실행합니다.

  4. PolyBase 엔진을 종료하고 PolyBase 데이터 이동 서비스를 다시 시작합니다.

참고 항목

PolyBase 엔진 서비스가 헤드 노드에서 다시 시작되거나 중지되면 DMS(데이터 이동 서비스) 서비스는 DMS와 DW(PolyBase 엔진 서비스) 간에 통신 채널이 닫혀 있는 즉시 중지됩니다. DW 엔진을 두 번 넘게 다시 시작하는 경우, DMS는 90분 대기 기간으로 전환되며 다음에 자동 시작이 시도될 때까지 90분간 기다려야 합니다. 이러한 경우 모든 노드에서 이 서비스를 수동으로 시작해야 합니다.

선택 사항: 컴퓨팅 노드 제거

  1. 컴퓨팅 노드 SQL Server(PQTH4A-CMP02)에 커넥트.

  2. 저장 프로시저 sp_polybase_leave_group를 실행합니다.

    EXEC sp_polybase_leave_group;  
    
  3. 제거 중인 컴퓨팅 노드(PQTH4A-CMP02)에서 services.msc를 실행합니다.

  4. PolyBase 엔진을 시작합니다. PolyBase 데이터 이동 서비스를 다시 시작합니다.

  5. PQTH4A-CMP01에서 DMV sys.dm_exec_compute_nodes 를 실행하여 노드가 제거되었는지 확인합니다. 이제 PQTH4A-CMP02가 독립 실행형 헤드 노드로 작동합니다.

제한 사항

  • 1433 이외의 다른 TCP 포트에서 수신 대기하도록 구성된 기본 SQL Server 인스턴스가 있는 경우 이를 PolyBase 스케일 아웃 그룹의 헤드 노드로 사용할 수 없습니다. 실행할 sp_polybase_join_group때 인스턴스 이름으로 'MSSQLSERVER'를 전달하는 경우 SQL Server는 포트 1433이 수신기 포트라고 가정하므로 데이터 이동 서비스는 시작할 때 헤드 노드에 연결할 수 없습니다.

  • PolyBase 스케일 아웃 그룹은 Always On 가용성 그룹에서 지원되지 않습니다.