Chef : configuration et deploiement automatisé de Clusters
By WORMS David
10 déc. 2010
Ne ratez pas nos articles sur l'open source, le big data et les systèmes distribués, fréquence faible d’un email tous les deux mois.
L’installation d’un cluster de plusieurs machines est consommateur de temps. La même procédure de mise en place des logiciels et de leurs paramétrages doit être répétée à l’identique. Au cours du temps, des mises à jour doivent être appliquées, certains logiciels doivent être supprimés quand d’autres sont ajoutés et au final, les systèmes divergent les uns des autres.
Pour répondre à ces problèmes, des logiciels gestion de configuration automatisent ces opérations. Un serveur s’installe et se paramètre en une seule commande en fonction des rôles qu’on souhaite lui allouer.
Finalement, avec Chef, la mise en place d’un système se limite à 2 procédures :
- Installer un système de base sans logiciels préinstallé, juste ssh
- Lancer une commande indiquant l’adresse du serveur et ses rôles (par exemple “server, lamp”)
Deux outils Open Source se chamaillent le leadership sur ce secteur, Puppet et Chef. Le débat entre chacun est houleux, tous les deux étant finalement de qualité comparable et dotés d’un large éventail de configurations préétablies couvrant l’ensemble des besoins d’administration. Chef nous a paru légèrement plus flexible (paramétrage en Ruby au lieu d’un langage sur-mesure).
Parmi les fonctionnalités de Chef (et Puppet) :
- Synchronisation automatique des nœuds avec l’état de la configuration
- Support de plusieurs OS (spécialement Puppet)
- Nombreuses configurations disponibles
- Large communauté
- Interface web agréable
Livres de recettes (Cookbooks)
- Recette publiées par la communauté
- Recettes crées par Opscode
- Dépôt maintenu par 37 Signals
- Dépôt maintenu par Engine Yard Cloud
Des cookbooks relatifs à Hadoop sont présents aux endroits suivants :
- Opscode
hadoop::default
: Installe le fichier apt du dépôt Cloudera et le paquet Hadoop
hadoop::conf_pseudo
: démarre les services Hadoop
hadoop::doc
: Installe le packet hadoop-doc
hadoop::hive
: Installe le packet hive
hadoop::pig
: Installe le packet pig
Conclusion, des fonctionnalités très limitées qui ne s’appliquent pas à l’installation complète d’un cluster Hadoop. - Runa
hadoop_for_hbase::default
: Télécharge hadoop sur depuis le site du créateur (version configurable)
Conclusion : Aucune garantie sur la source, peut de choix sur les version, limite a hadoop et hbase. - Infochimps Cluster Chef
hadoop_cluster::default
: Enregistre la source apt du dépôt Cloudera, crée un groupe et un utilisateur Unixhadoop
, crée un supergroup Hadoopsupergroup
Conclusion, sans doute le meilleur point de départ sur lequel s’appuyer pour créer ses propres recettes.
Ressources externes :