Gruppi con scalabilità orizzontale di PolyBasePolyBase scale-out groups

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)noDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Un'istanza di SQL Server autonomo con PolyBase può diventare un collo di bottiglia in termini di prestazioni quando si lavora con grandi set di dati in Hadoop o in archiviazione BLOB di Azure.A standalone SQL Server instance with PolyBase can become a performance bottleneck when dealing with massive data sets in Hadoop or Azure Blob Storage. La funzionalità Gruppo di PolyBase consente di creare un cluster di istanze di SQL Server per elaborare grandi quantità di set di dati da origini dati esterne, come ad esempio Hadoop o archiviazione BLOB di Azure, in un meccanismo di scalabilità orizzontale che consente di migliorare le prestazioni delle query.The PolyBase Group feature allows you to create a cluster of SQL Server instances to process large data sets from external data sources, such as Hadoop or Azure Blob Storage, in a scale-out fashion for better query performance.

Vedere Get started with PolyBase (Introduzione a PolyBase) e PolyBase Guide(Guida di Polybase).See Get started with PolyBase and PolyBase Guide.

Gruppi con scalabilità orizzontale di PolyBasePolyBase scale-out groups

PanoramicaOverview

Nodo headHead node

Il nodo head contiene l'istanza di SQL Server alla quale vengono inviate le query PolyBase.The head node contains the SQL Server instance to which PolyBase queries are submitted. Ogni gruppo di PolyBase può avere un solo nodo head.Each PolyBase group can have only one head node. Un nodo head è un gruppo logico costituito dal motore di database SQL, dal motore PolyBase e da PolyBase Data Movement Service nell'istanza di SQL Server.A head node is a logical group of SQL Database Engine, PolyBase Engine and PolyBase Data Movement Service on the SQL Server instance.

Nodo di calcoloCompute node

Un nodo di calcolo contiene l'istanza di SQL Server che assiste nell'elaborazione delle query di scalabilità orizzontale sui dati esterni.A compute node contains the SQL Server instance that assists with scale-out query processing on external data. Un nodo di calcolo è un gruppo logico costituito da SQL Server e da PolyBase Data Movement Service nell'istanza di SQL Server.A compute node is a logical group of SQL Server and the PolyBase data movement service on the SQL Server instance. Un gruppo di PolyBase può presentare più nodi di calcolo.A PolyBase group can have multiple compute nodes.

Elaborazione delle query distribuiteDistributed query processing

Le query PolyBase vengono inviate a SQL Server nel nodo head.PolyBase queries are submitted to the SQL Server on the head node. La parte della query che fa riferimento a tabelle esterne viene passata al motore PolyBase.The part of the query that refers to external tables is handed-off to the PolyBase engine.

Il motore PolyBase è il componente principale alla base delle query PolyBase.The PolyBase engine is the key component behind PolyBase queries. Il motore, infatti, analizza la query su dati esterni, genera il piano di query e distribuisce il lavoro al servizio di spostamento dati nei nodi di calcolo ai fini dell'esecuzione.It parses the query on external data, generates the query plan and distributes the work to the data movement service on the compute nodes for execution. Dopo il completamento del lavoro, riceve i risultati dei nodi di calcolo e li invia a SQL Server per l'elaborazione e la restituzione al client.After completion of the work, it receives the results from the compute nodes and submits them to SQL Server for processing and returning to the client.

Il servizio di spostamento dati di PolyBase riceve istruzioni dal motore PolyBase e trasferisce i dati tra HDFS e SQL Server e tra istanze di SQL Server nei nodi head e di calcolo.The PolyBase data movement service receives instructions from the PolyBase engine and transfers data between HDFS and SQL Server, and between SQL Server instances on the head and compute nodes.

Disponibilità delle edizioniEditions availability

Dopo l'installazione di SQL Server, l'istanza può essere definita sia come nodo head sia come nodo di calcolo.After setup of SQL Server, the instance can be designated as either a head node or a compute node. La scelta dipende dalla versione sulla quale è in esecuzione PolyBase di SQL Server.The choice depends on which version of SQL Server PolyBase is running on. In un'installazione Enterprise Edition, l'istanza può essere definita sia come nodo head sia come nodo di calcolo.On an Enterprise edition installation, the instance can be designated either as head node or a compute node. In una Standard Edition, l'istanza può essere definita solo come nodo di calcolo.On a Standard edition, the instance can only be designated as a compute node.

Per configurare un gruppo di PolyBaseTo configure a PolyBase group

PrerequisitiPrerequisites

  • N computer nello stesso dominioN machines in the same domain

  • Un account utente di dominio per l'esecuzione dei servizi PolyBaseA domain user account to run PolyBase services

PassaggiSteps

  1. Installare SQL Server con PolyBase su N computer.Install SQL Server with PolyBase on N machines.

  2. Selezionare un'istanza di SQL Server come nodo head.Select one SQL Server instance as the head node. Un nodo head può essere definito solo in un'istanza di SQL Server Enterprise.A head node can only be designated on an instance running SQL Server Enterprise.

  3. Aggiungere le istanze rimanenti di SQL Server come nodi di calcolo usando sp_polybase_join_group.Add remaining SQL Server instances as compute nodes using sp_polybase_join_group.

  4. Monitorare i nodi nel gruppo usando sys.dm_exec_compute_nodes (Transact-SQL).Monitor nodes in the group using sys.dm_exec_compute_nodes (Transact-SQL).

  5. Facoltativa.Optional. Rimuovere un nodo di calcolo usando sp_polybase_leave_group (Transact-SQL).Remove a compute node from using sp_polybase_leave_group (Transact-SQL).

Procedura dettagliata di esempioExample walk-through

Di seguito vengono illustrati i passaggi per configurare un gruppo di PolyBase con:This walks through the steps of configuring a PolyBase Group using:

  1. Due macchine nel dominio PQTH4A . I nomi computer sono:Two machines in the domain PQTH4A The machine names are:

    • PQTH4A-CMP01PQTH4A-CMP01

    • PQTH4A-CMP02PQTH4A-CMP02

  2. Account di dominio: PQTH4A\PolybaseUserDomain account: PQTH4A\PolybaseUser

Passaggio 1: Installare SQL Server con PolyBase su tutti i computerStep 1: Install SQL Server with PolyBase on all machines

  1. Eseguire setup.exe.Run setup.exe.

  2. Nella pagina Selezione funzionalità scegliere Servizio query PolyBase per i dati esterni.On the the Feature Selection page, select PolyBase Query Service for External Data.

  3. Nella pagina Configurazione server usare l' account di dominio PQTH4A\PolybaseUser per il motore PolyBase di SQL Server e SQL Server PolyBase Data Movement Service.On the the Server Configuration page, use the domain account PQTH4A\PolybaseUser for SQL Server PolyBase Engine and 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.On the PolyBase Configuration page, select the option Use the SQL Server instance as part of a PolyBase scale-out group. Verrà aperto il firewall per consentire le connessioni in ingresso ai servizi di PolyBase.This opens the firewall to allow incoming connections to the PolyBase services.

  5. Al termine dell'installazione, eseguire services.msc.After setup is complete, run services.msc. Verificare che SQL Server, il motore PolyBase e PolyBase Data Movement Service siano in esecuzione.Verify that SQL Server, PolyBase Engine and PolyBase Data Movement Service are running.

    Servizi PolyBasePolyBase services

Passaggio 2: Selezionare un SQL Server come nodo headStep 2: Select one SQL Server as head node

  • Al termine dell'installazione, entrambi i computer possono fungere da nodi head del gruppo di PolyBase.After setup is complete, both machines can function as PolyBase Group head nodes. In questo esempio, si sceglierà "MSSQLSERVER" in PQTH4A-CMP01 come nodo head.In this example, we will choose “MSSQLSERVER” on PQTH4A-CMP01 as the head node.

Passaggio 3: Aggiungere altre istanze di SQL Server come nodi di calcoloStep 3: Add other SQL Server instances as compute nodes

  1. Connettersi a SQL Server su PQTH4A-CMP02.Connect to SQL Server on PQTH4A-CMP02.

  2. Eseguire la stored procedure sp_polybase_join_group.Run the 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.Run services.msc on the compute node (PQTH4A-CMP02).

  4. Arrestare il motore PolyBase e riavviare PolyBase Data Movement Service.Shutdown the PolyBase engine and restart the PolyBase data movement service.

Facoltativo: Rimuovere un nodo di calcoloOptional: Remove a compute node

  1. Connettersi al nodo di calcolo PQTH4A-CMP02 per SQL Server.Connect to the compute node SQL Server (PQTH4A-CMP02).

  2. Eseguire la stored procedure sp_polybase_leave_group.Run the stored procedure sp_polybase_leave_group.

    EXEC sp_polybase_leave_group;  
    
  3. Eseguire services.msc sul nodo di calcolo da rimuovere, PQTH4A-CMP02.Run services.msc on the compute node that is being removed (PQTH4A-CMP02).

  4. Avviare il motore PolyBase.Start PolyBase Engine. Riavviare PolyBase Data Movement Service.Restart PolyBase data movement service.

  5. Verificare che il nodo sia stato rimosso eseguendo la DMV sys.dm_exec_compute_nodes su PQTH4A-CMP01.Verify that the node has been removed by running the DMV sys.dm_exec_compute_nodes on PQTH4A-CMP01. A questo punto, PQTH4A-CMP02 funzionerà come un nodo head autonomoNow, PQTH4A-CMP02 will function as a standalone head node

Passaggi successiviNext steps

Per la risoluzione dei problemi, vedere PolyBase troubleshooting with dynamic management views.For troubleshooting, see PolyBase troubleshooting with dynamic management views.

Vedere ancheSee Also

Get started with PolyBase Get started with PolyBase
PolyBase Guide PolyBase Guide
Configurazione della connettività di PolyBase (Transact-SQL) PolyBase Connectivity Configuration (Transact-SQL)