Configurer des groupes de scale-out PolyBase sur Windows

S’applique à : SQL Server - Windows uniquement Azure SQL Managed Instance

Cet article explique comment configurer un groupe de scale-out PolyBase sur Windows. Ceci permet de créer un cluster d’instances de SQL Server pour traiter de grands volumes de jeux de données à partir de sources de données externes telles que Hadoop ou le stockage d’objets Blob Azure, sous forme de montée en puissance (scale-out) parallèle pour des performances de requête optimisées.

Important

Les groupes de montée en puissance parallèle Microsoft SQL Server PolyBase seront mis hors service. La fonctionnalité de groupe de scale-out sera supprimée du produit dans SQL Server 2022 (16.x). La virtualisation des données PolyBase continue d’être entièrement prise en charge en tant que fonctionnalité de scale-up dans SQL Server. Pour plus d’informations, consultez Options Big data sur la plateforme Microsoft SQL Server.

Prérequis

  • Plusieurs machines dans le même domaine.

  • Un compte d’utilisateur de domaine pour exécuter les services PolyBase. Un compte de service administré de groupe (gMSA, group Managed Service Account) est recommandé. Pour plus d’informations, consultez Vue d’ensemble des comptes de service administrés de groupe.

Vue d’ensemble du processus

Les étapes suivantes résument le processus de création d’un groupe de scale-out PolyBase. La section suivante fournit une présentation plus détaillée de chaque étape.

  1. Installez la même version de SQL Server avec PolyBase sur N machines.

  2. Sélectionnez une instance de SQL Server en tant que nœud principal.

  3. Ajoutez les autres instances SQL Server comme nœuds de calcul à l’aide de sp_polybase_join_group.

  4. Surveillez les nœuds du groupe à l’aide de sys.dm_exec_compute_nodes (Transact-SQL).

  5. facultatif. Supprimez un nœud de calcul à l’aide de sp_polybase_leave_group (Transact-SQL).

Exemple de procédure

Cet exemple présente les étapes de configuration d’un groupe PolyBase à l’aide :

  1. de deux machines dans le domaine PQTH4A qui ont pour nom :

    • PQTH4A-CMP01

    • PQTH4A-CMP02

  2. Compte de domaine : PQTH4A\PolyBaseUser

Installer SQL Server avec PolyBase sur toutes les machines

  1. Exécutez setup.exe.

  2. Sur la page de sélection de fonctionnalités, sélectionnez Service de requête PolyBase pour données externes.

  3. Dans la page Configuration du serveur, utilisez le compte de domaine PQTH4A\PolyBaseUser pour le moteur SQL Server PolyBase et le service de mouvement de données PolyBase SQL Server.

  4. Dans la page Configuration de PolyBase, sélectionnez l’option Utiliser ce serveur SQL Server comme composant du groupe de scale-out PolyBase. Cette option permet d’ouvrir le pare-feu pour autoriser les connexions entrantes aux services PolyBase. L’assistant Installation de SQL Server expose automatiquement les ports TCP suivants dans le pare-feu du serveur Windows : 1433, 16450-16453 et 17001. Si le nœud principal est une instance nommée SQL Server, vous devez également ajouter manuellement le port SQL Server au pare-feu Windows sur le nœud principal, et démarrer SQL Browser sur le nœud principal. Les ports ne doivent être autorisés que sur le pare-feu des serveurs du groupe de scale-out PolyBase.

  5. Une fois l’installation terminée, exécutez services.msc. Vérifiez que SQL Server, le moteur PolyBase et le service de déplacement de données PolyBase sont en cours d’exécution.

    Capture d’écran de Gestionnaire de configuration SQL Server montrant les services PolyBase.

Sélectionnez un serveur SQL Server comme nœud principal

Une fois l’installation terminée, les deux machines peuvent fonctionner en tant que nœuds principaux d’un groupe PolyBase. Dans cet exemple, nous choisissons l’instance « MSSQLSERVER » sur PQTH4A-CMP01 en tant que nœud principal.

Ajoutez d’autres instances SQL Server comme nœuds de calcul

  1. Connectez-vous à SQL Server sur PQTH4A-CMP02.

  2. Exécutez la procédure stockée 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. Exécutez services.msc sur le nœud de calcul (PQTH4A-CMP02).

  4. Arrêtez le moteur PolyBase et redémarrez le service de déplacement des données PolyBase.

Remarque

Quand le service du moteur PolyBase est redémarré ou arrêté dans le nœud principal, le service DMS (Data Movement Service) s’arrête dès que le canal de communication est fermé entre DMS et le service du moteur PolyBase (DW). Si le moteur DW est redémarré plus de deux fois, le service DMS entre dans une période de silence de 90 minutes. Il doit attendre 90 minutes avant la prochaine tentative de démarrage automatique. Dans une telle situation, vous devez démarrer ce service manuellement sur tous les nœuds.

Facultatif : supprimez un nœud de calcul

  1. Connectez-vous au nœud de calcul SQL Server (PQTH4A-CMP02).

  2. Exécutez la procédure stockée sp_polybase_leave_group.

    EXEC sp_polybase_leave_group;  
    
  3. Exécutez services.msc sur le nœud de calcul en cours de suppression (PQTH4A-CMP02).

  4. Démarrez le moteur PolyBase. Redémarrez le service de déplacement de données PolyBase.

  5. Vérifiez que le nœud a été supprimé en exécutant la DMV sys.dm_exec_compute_nodes sur PQTH4A-CMP01. À présent, PQTH4A-CMP02 fonctionne en tant que nœud principal autonome

Limites

  • Si vous disposez d’une instance de SQL Server par défaut qui est configurée pour écouter sur un port TCP autre que le port 1433, vous ne pouvez pas l’utiliser comme nœud principal dans un groupe de scale-out PolyBase. Lors de l’exécution de sp_polybase_join_group, si vous transmettez « MSSQLSERVER » comme nom d’instance, SQL Server suppose que le port 1433 est le port de l’écouteur de sorte que le service de déplacement des données ne peut pas se connecter au nœud principal au démarrage.

  • Les groupes de scale out PolyBase ne sont pas pris en charge avec les groupes de disponibilité Always On.