Dans cet article, nous avons décrit le processus étape par étape pour installer Cloudera Manager selon les pratiques industrielles. Dans la partie 2, nous avons déjà parcouru les prérequis Cloudera, assurez-vous que tous les serveurs sont parfaitement préparés.
Ici, nous allons avoir un cluster de 5 nœuds où 2 maîtres et 3 travailleurs. J'ai utilisé 5 AWS EC2 instances pour démontrer la procédure d'installation. J'ai nommé ces 5 serveurs comme ci-dessous.
master1.tecmint.com master2.tecmint.com worker1.tecmint.com worker2.tecmint.com worker3.tecmint.com
Gestionnaire Cloudera est un outil d'administration et de suivi pour l'ensemble du CDH . Nous admin l'appelons généralement un outil de gestion pour Cloudera Hadoop . Nous pouvons déployer, surveiller, contrôler et apporter des modifications de configuration à l'aide de cet outil. Ceci est très essentiel pour gérer l'ensemble du cluster.
Vous trouverez ci-dessous les utilisations importantes de Cloudera Manager.
- Déployez et configurez des clusters Hadoop de manière automatisée.
- Surveiller l'état du cluster
- Configurer les alertes
- Dépannage
- Rapport
- Création d'un rapport d'utilisation du cluster
- Configuration dynamique des ressources
Étape 1 :Installer le serveur Web Apache sur CentOS
Nous allons utiliser le master1
en tant que serveur Web pour les référentiels Cloudera. De plus, Cloudera Manager est WebUI, nous avons donc besoin d'Apache installée. Suivez les étapes ci-dessous pour installer le serveur Web apache.
# yum -y install httpd
Une fois httpd installé, démarrez-le et activez-le pour qu'il soit lancé au démarrage.
# systemctl start httpd # systemctl enable httpd
Après avoir démarré httpd, assurez-vous du statut.
# systemctl status httpd
Après avoir démarré httpd, ouvrez un navigateur dans votre système local et collez l'adresse IP de master1
dans la barre de recherche, vous devriez obtenir cette page de test pour vous assurer que httpd fonctionne correctement.
Étape 2 : Configurer le DNS local pour résoudre l'adresse IP et le nom d'hôte
Nous devons avoir un serveur DNS ou configurer /etc/hosts pour résoudre l'IP et le nom d'hôte. Ici, nous configurons /etc/hosts , mais en temps réel, un serveur DNS dédié sera là pour l'environnement de production.
Suivez les étapes ci-dessous pour créer une entrée pour tous vos serveurs dans /etc/hosts .
# vi /etc/hosts
Cela devrait être configuré sur tous les serveurs.
13.235.27.144 master1.tecmint.com master1 13.235.135.170 master2.tecmint.com master2 15.206.167.94 worker1.tecmint.com worker1 13.232.173.158 worker2.tecmint.com worker2 65.0.182.222 worker3.tecmint.com worker3
Étape 3 : Configurer la connexion sans mot de passe SSH
Gestionnaire Cloudera est en cours d'installation sur master1
dans cette manifestation. Nous devons configurer ssh sans mot de passe depuis master1
à tous les autres nœuds. Parce que le Cloudera Manager utilisera ssh pour communiquer avec tous les autres nœuds afin d'installer les packages.
Suivez les étapes ci-dessous pour configurer ssh sans mot de passe à partir de master1
à tous les serveurs restants. Nous allons avoir un utilisateur ‘tecmint ‘ pour continuer.
Créez un utilisateur ‘tecmint ‘ les 4 serveurs utilisant la commande useradd comme indiqué.
# useradd -m tecmint
Pour donner le privilège root à l'utilisateur 'tecmint ', ajoutez la ligne ci-dessous dans /etc/sudoers dossier. Vous pouvez ajouter cette ligne sous la racine comme indiqué dans la capture d'écran.
tecmint ALL=(ALL) ALL
Passer à l'utilisateur 'tecmint ‘ et créer la clé ssh dans le master1
en utilisant la commande ci-dessous.
# sudo su tecmint $ ssh-keygen
Copiez maintenant la clé créée sur les 4 serveurs en utilisant le ssh-copy-id commande comme indiqué.
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Vous devriez maintenant pouvoir vous connecter en ssh depuis master1
pour rester tous les serveurs sans mot de passe comme indiqué.
$ ssh master2 $ ssh worker1 $ ssh worker2 $ ssh worker3
Étape 4 :Installer et configurer Cloudera Manager
Nous pouvons utiliser le fournisseur (Cloudera ) référentiel pour installer tous les packages à l'aide des outils de gestion de packages dans RHEL/CentOS. En temps réel, créer notre propre référentiel est la meilleure pratique car nous n'avons peut-être pas accès à Internet sur les serveurs de production.
Ici, nous allons installer Cloudera Manager 6.3.1 Libération. Puisque nous allons utiliser master1
en tant que serveur de dépôt, nous téléchargeons les packages dans le chemin mentionné ci-dessous.
Créez les répertoires mentionnés ci-dessous sur master1
serveur.
$ sudo mkdir -p /var/www/html/cloudera-repos/cm6
Nous pouvons utiliser l'outil wget pour télécharger des packages via http. Alors, installez wget en utilisant la commande ci-dessous.
$ sudo yum -y install wget
Ensuite, téléchargez le fichier tar de Cloudera Manager à l'aide de la commande wget suivante.
$ wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz
Extrayez le fichier tar dans /var/www/html/cloudera-repos/cm6 , nous avons déjà fait master1
comme serveur Web en installant http et nous avons testé sur le navigateur.
$ sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1
Maintenant, vérifiez que tous les fichiers rpm Cloudera sont là dans /var/www/html/cloudera-repos/cm6/RPMS/x86_64 répertoire.
$ cd /var/www/html/cloudera-repos/cm6 $ ll
Créez /etc/yum.repos.d/cloudera-manager.repo fichiers sur tous les serveurs des hôtes du cluster avec le contenu suivant, ici master1
(65.0.101.148) est le serveur Web.
[cloudera-repo] name=cloudera-manager baseurl=http:///cloudera-repos/cm6/ enabled=1 gpgcheck=0
Maintenant que le référentiel a été ajouté, exécutez la commande ci-dessous pour afficher les référentiels activés.
$ yum repolist
Exécutez la commande ci-dessous pour afficher tous les packages liés à Cloudera disponibles dans le référentiel.
$ yum list available | grep cloudera*
Installez cloudera-manager-server, cloudera-manager-agent, cloudera-manager-daemons cloudera-manager-server-db-2.
$ sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server cloudera-manager-server-db-2
Exécutez la commande ci-dessous pour afficher tous les packages Cloudera installés.
$ yum list installed | grep cloudera*
Exécutez la commande ci-dessous pour démarrer cloudera-scm-server-db qui est une base de données sous-jacente pour stocker Cloudera Manager et d'autres métadonnées de services.
Par défaut, Cloudera arrive avec postgre-sql qui est intégré dans Cloudera Manager . Nous installons celui embarqué, dans une base de données externe temps réel utilisable. Il peut s'agir d'Oracle , MySQL, ou PostgreSQL .
$ sudo systemctl start cloudera-scm-server-db
Exécutez la commande ci-dessous pour vérifier l'état de la base de données.
$ sudo systemctl status cloudera-scm-server-db
Configurez db.properties pour le gestionnaire Cloudera serveur.
$ vi /etc/cloudera-scm-server/db.properties
Configurez la valeur ci-dessous est EMBEDDED pour créer Cloudera Manager utiliser la base de données intégrée .
com.cloudera.cmf.db.setupType=EMBEDDED
Exécutez la commande ci-dessous pour démarrer le serveur Cloudera Manager.
$ sudo systemctl start cloudera-scm-server
Exécutez la commande ci-dessous pour vérifier l'état de Cloudera Manager serveur.
$ sudo systemctl status cloudera-scm-server
Exécutez la commande ci-dessous pour démarrer et vérifier l'état de Cloudera Manager mandataire.
$ sudo systemctl start cloudera-scm-agent $ sudo systemctl status cloudera-scm-agent
Une fois le serveur Cloudera Manager fonctionne correctement, vous pouvez afficher l'interface utilisateur Web (page de connexion) dans le navigateur en utilisant l'adresse IP et le numéro de port 7180 qui est le numéro de port de Cloudera Manager .
https://65.0.101.148:7180
Résumé
Dans cet article, nous avons vu étape par étape le processus d'installation de Cloudera Manager sur CentOS 7 . Nous verrons le CDH et d'autres installations de service dans le prochain article.