Recherche de site Web

Comment installer et configurer Cloudera Manager sur CentOS/RHEL 7 - Partie 3


Dans cet article, nous avons décrit le processus étape par étape pour installer Cloudera Manager conformément aux pratiques industrielles. Dans la partie 2, nous avons déjà parcouru les pré-requis de Cloudera, assurez-vous que tous les serveurs sont parfaitement préparés.

Exigences

  • Meilleures pratiques pour le déploiement du serveur Hadoop sur CentOS/RHEL 7 – Partie 1
  • Configuration des prérequis Hadoop et renforcement de la sécurité – Partie 2

Ici, nous allons avoir un cluster de 5 nœuds où 2 maîtres et 3 travailleurs. J'ai utilisé 5 instances AWS EC2 pour démontrer la procédure d'installation. J'ai nommé ces 5 serveurs comme ci-dessous.

master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net

Cloudera Manager est un outil d'administration et de surveillance pour l'ensemble du CDH. Nous, les administrateurs, l'appelons généralement un outil de gestion pour Cloudera Hadoop. Nous pouvons déployer, surveiller, contrôler et apporter des modifications à la configuration à l'aide de cet outil. Ceci est 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 la santé du cluster
  • Configurer les alertes
  • Dépannage
  • Rapports
  • Création d'un rapport d'utilisation du cluster
  • Configuration dynamique des ressources

Étape 1 : Installation du serveur Web Apache sur CentOS

Nous allons utiliser le master1 comme serveur Web pour les référentiels Cloudera. De plus, Cloudera Manager est WebUI, nous devons donc avoir Apache installé. 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 démarre 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 sur 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 disposer d'un serveur DNS ou configurer /etc/hosts pour résoudre l'adresse 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 doit être configuré sur tous les serveurs.

13.235.27.144   master1.linux-console.net     master1
13.235.135.170  master2.linux-console.net     master2
15.206.167.94   worker1.linux-console.net     worker1
13.232.173.158  worker2.linux-console.net     worker2
65.0.182.222    worker3.linux-console.net     worker3

Étape 3 : Configurer la connexion sans mot de passe SSH

Cloudera Manager est en cours d'installation sur master1 dans cette démonstration. Nous devons configurer SSH sans mot de passe de master1 vers tous les autres nœuds. Parce que 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 de master1 vers tous les serveurs restants. Nous allons avoir un utilisateur « tecmint » pour continuer.

Créez un utilisateur « tecmint » sur les 4 serveurs à l'aide de la commande useradd comme indiqué.

useradd -m tecmint

Pour donner le privilège root à l'utilisateur « tecmint », ajoutez la ligne ci-dessous dans le fichier /etc/sudoers. Vous pouvez ajouter cette ligne sous root comme indiqué dans la capture d'écran.

tecmint   ALL=(ALL)    ALL

Basculez vers l'utilisateur « tecmint » et créez une clé ssh dans le master1 à l'aide de la commande ci-dessous.

sudo su tecmint
ssh-keygen

Copiez maintenant la clé créée sur les 4 serveurs en utilisant la commande ssh-copy-id comme indiqué.

ssh-copy-id -i ~/.ssh/id_rsa.pub [email 
ssh-copy-id -i ~/.ssh/id_rsa.pub [email 
ssh-copy-id -i ~/.ssh/id_rsa.pub [email  
ssh-copy-id -i ~/.ssh/id_rsa.pub [email 

Vous devriez maintenant pouvoir vous connecter depuis master1 vers tous les serveurs restants sans mot de passe, comme indiqué.

ssh master2
ssh worker1
ssh worker2
ssh worker3

Étape 4 : Installation et configuration de Cloudera Manager

Nous pouvons utiliser le référentiel fournisseur (Cloudera) 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 la version Cloudera Manager 6.3.1. Puisque nous allons utiliser master1 comme 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 le serveur master1.

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 à l'aide de la commande ci-dessous.

sudo yum -y install wget

Ensuite, téléchargez le fichier tar 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à créé 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 se trouvent dans le répertoire /var/www/html/cloudera-repos/cm6/RPMS/x86_64.

cd /var/www/html/cloudera-repos/cm6
ll

Créez des fichiers /etc/yum.repos.d/cloudera-manager.repo 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 propose postgre-sql qui est intégré dans Cloudera Manager. Nous installons celui embarqué, dans une base de données externe en 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 serveur Cloudera Manager.

vi /etc/cloudera-scm-server/db.properties

Configurez la valeur ci-dessous sur EMBEDDED pour que Cloudera Manager utilise 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 du serveur Cloudera Manager.

sudo systemctl status cloudera-scm-server

Exécutez la commande ci-dessous pour démarrer et vérifier l'état de l'agent Cloudera Manager.

sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent

Une fois que le Cloudera Manager Server est opérationnel, vous pouvez afficher l'interface Web (page de connexion) dans le navigateur à l'aide de l'adresse IP et du numéro de port 7180 qui est le numéro de port de Gestionnaire Cloudera.

https://65.0.101.148:7180

Résumé

Dans cet article, nous avons vu le processus étape par étape pour installer Cloudera Manager sur CentOS 7. Nous verrons le CDH et d’autres installations de services dans le prochain article.