Table des matières:
Vidéo: How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox 2024
Les nœuds maîtres des clusters Hadoop distribués hébergent les différents services de gestion de stockage et de traitement décrits dans cette liste pour l'ensemble du cluster Hadoop. La redondance est essentielle pour éviter les points de défaillance uniques. Vous voyez donc deux commutateurs et trois nœuds maîtres.
-
NameNode: Gère le stockage HDFS. Pour garantir une haute disponibilité, vous disposez d'un NameNode actif et d'un NameNode de secours. Chacun fonctionne sur son propre noeud maître dédié.
-
Nœud Checkpoint (ou nœud de sauvegarde): Fournit des services checkpointing pour le NameNode. Cela implique de lire le journal d'édition de NameNode pour les modifications apportées aux fichiers dans HDFS (fichiers nouveaux, supprimés et ajoutés) depuis le dernier point de contrôle et de les appliquer au fichier maître de NameNode qui mappe les fichiers en blocs de données.
En outre, le nœud de sauvegarde conserve une copie de l'espace de noms du système de fichiers en mémoire et le garde synchronisé avec l'état du NameNode. Pour les déploiements à haute disponibilité, n'utilisez pas de noeud de point de contrôle ou de noeud de sauvegarde. Utilisez plutôt un noeud de nom de secours. En plus d'être un mode veille actif pour le NameNode, le Standby NameNode maintient les services de point de contrôle et conserve une copie à jour de l'espace de noms du système de fichiers en mémoire.
-
JournalNode: Reçoit les modifications du journal d'édition indiquant les modifications apportées aux fichiers dans HDFS à partir de NameNode. Au moins trois services JournalNode (et c'est toujours un nombre impair) doivent être en cours d'exécution dans un cluster, et ils sont suffisamment légers pour pouvoir être colocalisés avec d'autres services sur les nœuds maîtres.
-
Gestionnaire de ressources: Supervise la planification des tâches d'application et la gestion des ressources du cluster Hadoop. Ce service est le coeur de YARN.
-
JobTracker: Pour les serveurs Hadoop 1, gère la gestion des ressources de cluster et la planification. Avec YARN, le JobTracker est obsolète et n'est pas utilisé. Un certain nombre de déploiements Hadoop n'ont toujours pas migré vers Hadoop 2 et YARN.
-
HMaster: Surveille les serveurs de la région HBase et gère toutes les modifications de métadonnées. Pour garantir une haute disponibilité, veillez à utiliser une seconde instance HMaster. Le service HMaster est assez léger pour être colocalisé avec d'autres services sur les nœuds maîtres. Dans Hadoop 1, les instances du service HMaster s'exécutent sur les nœuds maîtres. Dans Hadoop 2, avec Hoya (HBase on Yarn), les instances HMaster s'exécutent dans des conteneurs sur des nœuds esclaves.
-
Zookeeper: Coordonne les composants distribués et fournit des mécanismes pour les synchroniser. Zookeeper est utilisé pour détecter l'échec du NameNode et choisir un nouveau NameNode.Il est également utilisé avec HBase pour gérer les états du HMaster et des RegionServers.
Comme avec le JournalNode, vous avez besoin d'au moins trois instances de nœuds Zookeeper (et toujours un nombre impair), et elles sont assez légères pour être placées en colocation avec d'autres services sur les nœuds maîtres.
Ici, vous avez trois nœuds maîtres (avec le même matériel), où les services clés ActiveNode, Standby NameNode et Resource Manager ont chacun leur propre serveur. Des services JournalNode et Zookeeper sont également exécutés sur chaque serveur, mais ils sont légers et ne constituent pas une source de conflit de ressources avec les services NameNode et Resource Manager.
Les principes sont les mêmes pour Hadoop 1, où vous avez besoin d'un nœud maître dédié pour les services NameNode, Secondary NameNode et JobTracker.
Si vous envisagez d'utiliser HBase avec Hoya dans Hadoop 2, vous n'avez pas besoin de services supplémentaires. Pour les déploiements Hadoop 1 utilisant HBase, consultez la figure suivante pour le déploiement des services sur les nœuds principaux du cluster Hadoop.
Il existe deux différences de comparaison entre ces serveurs maîtres et les serveurs maîtres Hadoop 1 sans prise en charge de HBase: ici, deux services HMaster (un pour coordonner HBase et un pour agir en veille) et des services Zookeeper pour les trois nœuds maîtres gérer le basculement.
Si vous avez l'intention d'utiliser votre cluster Hadoop 1 uniquement pour HBase, vous pouvez vous passer du service JobTracker car HBase ne dépend pas de l'infrastructure Hadoop 1 MapReduce.
Quand les gens parlent de matériel pour Hadoop, ils mettent généralement l'accent sur l'utilisation de composants - les moins chers. Étant donné que vous ne devez relier que quelques nœuds maîtres (généralement trois ou quatre), vous n'avez pas à multiplier les coûts si, par exemple, vous décidez d'utiliser des disques durs coûteux.
Gardez à l'esprit que sans les nœuds maîtres, il n'y a pas de cluster Hadoop. Les nœuds maîtres remplissent une fonction critique, et même si vous avez besoin d'une redondance, vous devez les concevoir en tenant compte de la haute disponibilité et de la résilience.
Stockage recommandé
Pour les nœuds maîtres Hadoop, quel que soit le nombre de nœuds esclaves ou les utilisations du cluster, les caractéristiques de stockage sont cohérentes. Utilisez quatre disques SAS de 900 Go, ainsi qu'un contrôleur RAID HDD configuré pour RAID 1 + 0. Les disques SAS sont plus chers que les disques SATA et ont une capacité de stockage inférieure, mais ils sont plus rapides et beaucoup plus fiables.
Le déploiement de vos disques SAS en tant que matrice RAID garantit que les services de gestion Hadoop disposent d'un stockage redondant pour leurs données stratégiques. Cela vous donne suffisamment de stockage stable, rapide et redondant pour prendre en charge la gestion de votre cluster Hadoop.
Processeurs recommandés
Au moment d'écrire ces lignes, la plupart des architectures de référence recommandent d'utiliser des cartes mères avec deux sockets CPU, chacune avec six ou huit cœurs. L'architecture Intel Ivy Bridge est couramment utilisée.
Mémoire recommandée
Les besoins en mémoire varient considérablement selon l'échelle d'un cluster Hadoop.La mémoire est un facteur critique pour les nœuds maîtres Hadoop, car les serveurs NameNode actif et en attente dépendent fortement de la RAM pour gérer HDFS. À ce titre, utilisez la mémoire ECC (correction d'erreur) pour les nœuds maîtres Hadoop. Généralement, les nœuds maîtres ont besoin de 64 Go à 128 Go de RAM.
L'exigence de mémoire NameNode est une fonction directe du nombre de blocs de fichiers stockés dans HDFS. En règle générale, le NameNode utilise environ 1 Go de RAM par million de blocs HDFS. (Rappelez-vous que les fichiers sont décomposés en blocs individuels et répliqués de manière à avoir trois copies de chaque bloc.)
Les demandes en mémoire des serveurs Resource Manager, HMaster, Zookeeper et JournalNode sont considérablement inférieures à celles du serveur NameNode. Cependant, il est recommandé de dimensionner les nœuds maîtres de manière cohérente afin qu'ils soient interchangeables en cas de panne matérielle.
Réseautage recommandé
Une communication rapide est vitale pour les services sur les nœuds maîtres. Nous vous recommandons donc d'utiliser une paire de connexions 10GbE liées. Cette paire liée offre une redondance, mais double également le débit à 20 GbE. Pour les clusters plus petits (par exemple, moins de 50 nœuds), vous pouvez utiliser des connecteurs 1 GbE.