Vidéo: How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox 2024
Dans un univers Hadoop, les nœuds esclaves sont l'endroit où les données Hadoop sont stockées et où le traitement des données a lieu. Les services suivants permettent aux nœuds esclaves de stocker et de traiter des données:
-
NodeManager: Coordonne les ressources d'un nœud esclave individuel et rend compte au gestionnaire de ressources.
-
ApplicationMaster: Suit la progression de toutes les tâches exécutées sur le cluster Hadoop pour une application spécifique. Pour chaque application cliente, le gestionnaire de ressources déploie une instance du service ApplicationMaster dans un conteneur sur un nœud esclave. (N'oubliez pas que tout noeud exécutant le service NodeManager est visible par le gestionnaire de ressources.)
-
Container: Une collection de toutes les ressources nécessaires pour exécuter des tâches individuelles pour une application. Lorsqu'une application est en cours d'exécution sur le cluster, le gestionnaire de ressources planifie les tâches de l'application à exécuter en tant que services de conteneur sur les nœuds esclaves du cluster.
-
TaskTracker: Gère la carte individuelle et réduit les tâches s'exécutant sur un nœud esclave pour les clusters Hadoop 1. Dans Hadoop 2, ce service est obsolète et a été remplacé par les services YARN.
-
DataNode: Un service HDFS qui permet à NameNode de stocker des blocs sur le nœud esclave.
-
RegionServer: Stocke les données pour le système HBase. Dans Hadoop 2, HBase utilise Hoya, ce qui permet d'exécuter les instances de RegionServer dans des conteneurs.
Ici, chaque nœud esclave exécute toujours une instance DataNode (qui permet à HDFS de stocker et de récupérer des blocs de données sur le nœud esclave) et une instance NodeManager (qui permet au gestionnaire de ressources d'assigner des tâches d'application au nœud esclave).. Les processus de conteneur sont des tâches individuelles pour les applications qui s'exécutent sur le cluster.
Chaque application en cours a une tâche ApplicationMaster dédiée, qui s'exécute également dans un conteneur, et suit l'exécution de toutes les tâches s'exécutant sur le cluster jusqu'à ce que l'application soit terminée.
Avec HBase sur Hadoop 2, le modèle de conteneur est toujours suivi, comme vous pouvez le voir:
HBase sur Hadoop 2 est lancé par le maître d'application Hoya, qui demande des conteneurs pour les services HMaster. (Vous avez besoin de plusieurs services HMaster pour la redondance.) Le maître d'application Hoya demande également des ressources pour les serveurs RegionServers, qui fonctionnent également dans des conteneurs spéciaux.
La figure suivante montre les services déployés sur les nœuds esclaves Hadoop 1.
Pour Hadoop 1, chaque nœud esclave exécute toujours une instance DataNode (qui permet à HDFS de stocker et récupérer des blocs de données sur le nœud esclave) et une instance TaskTracker (qui permet au JobTracker d'assigner des tâches de carte et de réduire au nœud esclave pour traitement).
Les nœuds esclaves ont un nombre fixe d'emplacements de carte et réduisent les emplacements pour l'exécution des tâches de carte et de réduction respectivement. Si votre cluster exécute HBase, un certain nombre de vos nœuds esclaves devront exécuter un service RegionServer. Plus vous stockez de données dans HBase, plus vous aurez besoin d'instances RegionServer.
Les critères matériels pour les nœuds esclaves sont plutôt différents de ceux des nœuds maîtres; en fait, les critères ne correspondent pas à ceux trouvés dans les architectures de référence matérielles traditionnelles pour les serveurs de données. Une grande partie du buzz entourant Hadoop est due à l'utilisation de matériel de base dans les critères de conception des clusters Hadoop, mais gardez à l'esprit que le matériel de commodité ne fait pas référence au matériel de qualité grand public.
Les nœuds esclaves Hadoop nécessitent toujours du matériel de qualité professionnelle, mais à l'extrémité inférieure du spectre de coûts, en particulier pour le stockage.