Aller au contenu principal

Exécuter en distribué

Cet article exécute Clustron Zaris comme un cluster distribué. Un cluster répartit le store sur plusieurs nœuds, où un nœud est une unique instance du store en cours d'exécution. Les nœuds partagent les données et coordonnent le travail sur le réseau.

Vous pouvez exécuter un cluster sur une seule machine ou sur plusieurs. Dans les deux cas, le store forme un cluster ; seuls l'endroit où s'exécutent les nœuds et la façon dont vous vous connectez aux gestionnaires diffèrent.

Prérequis​

Avant de commencer, vous avez besoin de Zaris installé, de PowerShell 7 ou ultérieur, et des ports du cluster ouverts : 7801 pour le gestionnaire, 7811 pour le trafic nœud à nœud et 7861 pour les connexions clientes. Sous Windows, l'installeur ouvre la plage 7801–7899 pour vous.

Choisir une configuration​

Chaque machine exécute un gestionnaire, qui coordonne le cluster. La différence entre les deux configurations est le nombre de nœuds exécutés par machine et les gestionnaires auxquels vous vous connectez.

AspectMachine uniqueMachines multiples
NœudsPlusieurs nœuds sur une machine (PartitionsPerNode > 1)Un nœud par machine (PartitionsPerNode = 1)
GestionnairesUn (localhost)Un par machine, tous listés
Cas d'usageDéveloppement et tests sur une seule machineProduction sur plusieurs serveurs

Se connecter au gestionnaire​

Connectez l'admin shell au gestionnaire avant de créer le store. Un espace de travail est une connexion nommée à un ou plusieurs gestionnaires que ciblent les cmdlets d'administration ; créez-en un et activez-le avec -Activate. Utilisez la connexion qui correspond à votre configuration.

Pour une machine unique, connectez-vous à l'unique gestionnaire local :

New-ZrWorkspace local -Managers localhost:7801 -Activate

Pour des machines multiples, connectez-vous au gestionnaire de chaque machine, séparés par des virgules :

New-ZrWorkspace prod -Managers 10.0.0.11:7801,10.0.0.12:7801 -Activate

Si un espace de travail portant ce nom existe déjà, ou si un gestionnaire fait déjà partie d'un autre espace de travail, activez-le ou rejoignez-le plutôt avec Use-ZrWorkspace <name> -Managers <managers>.

Comment les pièces s'articulent​

Un cluster distribué a trois rôles. Les comprendre rend les étapes ci-dessous plus claires :

  • Les gestionnaires coordonnent le cluster. Un seul s'exécute par machine.
  • Les nœuds sont les instances de store qui hébergent les données.
  • Les clients se connectent au cluster pour lire et écrire des données.

1. Créer le store​

Définissez le store avec New-ZrStore. PartitionsPerNode fixe combien de processus de partition s'exécutent sur chaque machine, et ReplicationFactor fixe combien de copies de chaque partition conserver. Sur une machine unique, réglez PartitionsPerNode à plus de 1 pour exécuter plusieurs nœuds ; sur plusieurs machines, laissez-le à la valeur par défaut de 1 pour que chaque machine connectée exécute un nœud. Un seul appel New-ZrStore crée le store sur chaque gestionnaire connecté.

New-ZrStore `
-Name TestStore `
-PartitionsPerNode 2 `
-ReplicationFactor 1 `
-BaseClusterPort 7811 `
-BaseClientPort 7861

Lorsque plusieurs nœuds s'exécutent sur une machine, Zaris attribue leurs ports automatiquement en incrémentant les valeurs de départ. BaseClusterPort 7811 devient 7811, 7812, et ainsi de suite, et BaseClientPort 7861 devient 7861, 7862, et ainsi de suite.

2. Démarrer le cluster​

Démarrez le store pour mettre en ligne chaque nœud configuré et former le cluster.

Start-ZrStore TestStore

3. Connecter un client​

Connectez un client avec Connect-ZrStore, en lui donnant un point de terminaison de départ.

Connect-ZrStore -ConnectionString "zaris://10.0.0.11:7861/TestStore"

Vous n'avez besoin de fournir qu'un seul point de terminaison, appelé le point d'amorçage (seed). Le client utilise le point d'amorçage pour découvrir le reste des nœuds, de sorte que vous n'avez pas à lister chaque serveur. Vous pouvez tout de même lister plusieurs points de terminaison — séparés par des virgules dans la chaîne de connexion, par exemple zaris://10.0.0.11:7861,10.0.0.12:7861/TestStore — pour la résilience si le point d'amorçage est indisponible.

Qu'est-ce qu'un point de terminaison ?​

Un point de terminaison est une machine ou une adresse IP associée à un port client, sous la forme <Machine/IP>:<ClientPort>. La machine est le serveur qui exécute le nœud, et le port client est celui que vous définissez avec -BaseClientPort lorsque vous créez le store. Par exemple, localhost:7861 se connecte à un nœud sur la machine locale, et 10.0.0.11:7861 se connecte à un nœud sur un serveur distant.

4. Vérifier le cluster​

Stockez une valeur et relisez-la pour confirmer que le cluster fonctionne.

Set-ZrItem -Key "hello" -Value "world"

Get-ZrItem -Key "hello"

Ce que vous venez de faire​

Vous avez formé un cluster Zaris dont les nœuds partagent données et coordination. Parce que l'état est partagé entre les nœuds, le cluster prend aussi en charge les verrous distribués, les compteurs et les abonnements d'observateurs (watch). À partir d'ici, vous pouvez déplacer votre configuration dans des fichiers de configuration et commencer à appeler le store depuis vos applications.

Étapes suivantes​