Configurare gruppi con scalabilità orizzontale PolyBase in Windows

Si applica a:SQL Server - Solo Windows Istanza gestita di SQL di Azure

Questo articolo descrive come configurare un gruppo con scalabilità orizzontale PolyBase in Windows. Questa funzionalità consente di creare un cluster di istanze di SQL Server per elaborare set di dati di grandi dimensioni da origini dati esterne, ad esempio Hadoop o Archiviazione BLOB di Azure, in una soluzione di scalabilità orizzontale che consente di migliorare le prestazioni delle query.

Importante

I gruppi con scalabilità orizzontale PolyBase di Microsoft SQL Server verranno ritirati. La funzionalità dei gruppi con scalabilità orizzontale verrà rimossa dal prodotto in SQL Server 2022 (16.x). La virtualizzazione dei dati PolyBase continuerà a essere completamente supportata come funzionalità di aumento delle prestazioni in SQL Server. Per altre informazioni, vedere Opzioni per i Big Data nella piattaforma Microsoft SQL Server.

Prerequisiti

Panoramica processo

I passaggi seguenti riepilogano il processo per la creazione di un gruppo con scalabilità orizzontale PolyBase. La prossima sezione offre una procedura guidata più dettagliata di ogni passaggio.

  1. Installare la stessa versione di SQL Server con PolyBase su N computer.

  2. Selezionare un'istanza di SQL Server come nodo head.

  3. Aggiungere le istanze rimanenti di SQL Server come nodi di calcolo usando sp_polybase_join_group.

  4. Monitorare i nodi nel gruppo usando sys.dm_exec_compute_nodes (Transact-SQL).

  5. Facoltativo. Rimuovere un nodo di calcolo usando sp_polybase_leave_group (Transact-SQL).

Procedura dettagliata di esempio

Di seguito vengono illustrati i passaggi per configurare un gruppo di PolyBase con:

  1. Due macchine nel dominio PQTH4A . I nomi computer sono:

    • PQTH4A-CMP01

    • PQTH4A-CMP02

  2. Account di dominio: PQTH4A\PolyBaseUser

Installare SQL Server con PolyBase in tutti i computer

  1. Eseguire setup.exe.

  2. Nella pagina Selezione funzionalità scegliere Servizio query PolyBase per i dati esterni.

  3. Nella pagina Configurazione server usare l'account di dominio PQTH4A\PolyBaseUser per il motore di ricerca PolyBase di SQL Server e SQL Server PolyBase Data Movement Service.

  4. Nella pagina di configurazione di PolyBase selezionare l'opzione Usare questa istanza di SQL Server come parte del gruppo PolyBase con scalabilità orizzontale. Verrà aperto il firewall per consentire le connessioni in ingresso ai servizi di PolyBase. Il programma di installazione di SQL Server espone automaticamente le porte TCP seguenti in Windows Server Firewall: 1433.16450-16453 e 17001. Se il nodo head è un'istanza denominata di SQL Server, è anche necessario aggiungere manualmente la porta di SQL Server a Windows Firewall nel nodo head e anche avviare SQL Browser nel nodo head. Le porte devono essere consentite solo nei firewall dei server nel gruppo con scalabilità orizzontale PolyBase.

  5. Al termine dell'installazione, eseguire services.msc. Verificare che SQL Server, il motore PolyBase e PolyBase Data Movement Service siano in esecuzione.

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

Selezionare un'istanza di SQL Server come nodo head

Al termine dell'installazione, entrambi i computer possono fungere da nodi head del gruppo di PolyBase. In questo esempio, sceglieremo l’istanza "MSSQLSERVER" in PQTH4A-CMP01 come nodo head.

Aggiungere altre istanze di SQL Server come nodi di calcolo

  1. Connettersi a SQL Server su PQTH4A-CMP02.

  2. Eseguire la stored procedure 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. Eseguire services.msc sul nodo di calcolo, PQTH4A-CMP02.

  4. Spegnere il motore PolyBase e riavviare il servizio PolyBase Data Movement.

Nota

Quando il servizio del motore PolyBase viene riavviato o arrestato nel nodo head, i servizi DMS (Servizio Migrazione del database) vengono arrestati non appena il canale di comunicazione viene chiuso tra DMS e il servizio motore Polybase (DW). Se il motore DW viene riavviato più di due volte, il servizio DMS entra in un periodo di attesa di 90 minuti e deve attendere 90 minuti per il successivo tentativo di avvio automatico. In questa situazione è necessario avviare manualmente il servizio in tutti i nodi.

Facoltativo: Rimuovere un nodo di calcolo

  1. Connettersi al nodo di calcolo PQTH4A-CMP02 per SQL Server.

  2. Eseguire la stored procedure sp_polybase_leave_group.

    EXEC sp_polybase_leave_group;  
    
  3. Eseguire services.msc sul nodo di calcolo da rimuovere, PQTH4A-CMP02.

  4. Avviare il motore PolyBase. Riavviare PolyBase Data Movement Service.

  5. Verificare che il nodo sia stato rimosso eseguendo la DMV sys.dm_exec_compute_nodes su PQTH4A-CMP01. A questo punto, PQTH4A-CMP02 funzionerà come un nodo head autonomo

Limiti

  • Se si dispone di un'istanza di SQL Server predefinita configurata per l'ascolto sulla porta TCP diversa da 1433, non è possibile usarla come nodo head in un gruppo con scalabilità orizzontale PolyBase. Quando si esegue sp_polybase_join_group, se si passa "MSSQLSERVER" come nome dell'istanza, SQL Server presuppone che la porta 1433 sia la porta del listener, quindi il servizio spostamento dati non è in grado di connettersi al nodo head all'avvio.

  • I gruppi con scalabilità orizzontale polyBase non sono supportati con i gruppi di disponibilità sempre attivi.