Migration d’un cluster CDH unique d’un CM à un autre | par Nirmal Ramasubramanian | Octobre 2020

Guide de migration d’un cluster CDH unique d’un gestionnaire Multi-CDH Cloudera vers un nouvel environnement Cloudera Manager

Nirmal Ramasubramanian
Image pour publication

La migration fait partie intégrante de la stratégie de données dans la plupart des entreprises de nos jours. Il existe plusieurs formes de migration, mais la migration d’un seul cluster CDH de Cloudera Manager vers un autre reste l’une des exigences les plus complexes rencontrées par de nombreuses entreprises. Il peut ne pas y avoir suffisamment de réponses sur la façon de migrer uniquement un cluster et non l’intégralité du CM.

Chez Clairvoyant, nous avons développé une méthodologie unique pour migrer le cluster d’un CM à un autre et parfois même une version totalement différente de CM. Clairvoyant est spécialisé dans la maintenance et la création d’infrastructures de données. Ci-dessous, nous avons répertorié un processus étape par étape pour cette migration. Mais pour toutes vos demandes personnalisées, contactez-nous ici.

Disons que nous avons n nombre de clusters sous un seul CM et souhaitent migrer un seul cluster vers un nouveau CM. Nous avons testé la migration d’un cluster CDH depuis un CM de même version et également la migration d’un cluster CDH 5.x d’un CM de 6.x vers un CM de 5.x.

Reportez-vous au lien ci-dessous pour la compatibilité Cloudera Manager et CDH avant la migration:
https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cm_cdh_compatibility.html

Nous avons ici un environnement de CM 6.3.2 avec deux clusters: un avec CDH 6.3.2 et un autre avec CDH 5.16.2.

Voici les étapes pour migrer le cluster CDH 5.16.2 sous un nouveau CM5.16.2.

1. Préparez le CM de destination
Configurez le serveur CM sur l’environnement de destination avec la version 5.16.2.
REMARQUE: Ne configurez aucun cluster ou CMS.
Veuillez suivre ce lien pour configurer le CM-https: //docs.cloudera.com/documentation/enterprise/5-16-x/topics/install_cm_cdh.html

Destination CM 5.16.2 sans clusters et CMS

2. Obtenir la configuration de Cloudera Manager
Nous utilisons l’API REST Cloudera Manager pour obtenir toutes ses données de configuration. L’API exporte un document JSON contenant des données de configuration pour l’instance Cloudera Manager.
Exécutez la commande ci-dessous dans le serveur CM du cluster source et obtenez le fichier JSON cm-deployment.json.

curl -u <USERNAME>:<PASSWORD> "http://<SOURCE_CM_HOST>:<CM_PORT>/api/<VERSION>/cm/deployment" > cm-deployment.json

Où,
NOM D’UTILISATEUR est un nom d’utilisateur avec le rôle d’administrateur complet ou d’administrateur de cluster
MOT DE PASSE est le mot de passe du USERNAME
SOURCE_CM_HOST est le nom d’hôte du serveur Cloudera Manager
CM_PORT est le port du serveur Cloudera Manager
VERSION est la version de l’API Cloudera Manager. Use v19 pour 5.x et v33 pour 6.x

3. Copiez le fichier JSON cm-deployment.json sur le serveur CM du cluster de destination

4. Importation de la configuration de Cloudera Manager
À l’aide d’un document JSON précédemment enregistré contenant les données de configuration Source Cloudera Manager, nous importons cette configuration dans le cluster de destination.
Exécutez la commande ci-dessous sur le serveur CM de cluster de destination.

curl -H "Content-Type: application/json" — upload-file cm-deployment.json -u <USERNAME>:<PASSWORD> http://<DESTINATION_CM_HOST>:<CM_PORT>/api/<VERSION>/cm/deployment

Où,
NOM D’UTILISATEUR est un nom d’utilisateur avec le rôle d’administrateur complet ou d’administrateur de cluster.
MOT DE PASSE est le mot de passe du USERNAME
DESTINATION_CM_HOST est le nom d’hôte du serveur Cloudera Manager
CM_PORT est le port du serveur Cloudera Manager
VERSION est la version de l’API Cloudera Manager. Use v19 pour 5.x et v33 pour 6.x

REMARQUE: Si vous utilisez à la fois les CM source et de destination avec la version CDH prise en charge, vous pouvez importer directement le JSON. Ici, dans ma source, l’un des clusters est avec CDH6.3.2. Cloudera Manager 5.16.2 ne peut pas gérer CDH 6.3.2 car la version de destination Cloudera Manager , 5, est inférieure à la version CDH , 6.
Donc avant d’aller de l’avant, dans cm-deployment.json, pour les autres clusters avec une version CDH incompatible, remplacez la valeur de la version de «CDH6» par «CDH5» et la version complète de «6.3.2» par «5.16.1» car nous n’utilisera pas ce cluster après l’importation.

cm-deployment.json avant de modifier
cm-deployment.json après la modification

Une fois importés, nous verrons tous les clusters CDH dans le CM de destination, comme le cluster source, mais dans un état arrêté.

Modèle initial prêt dans le cluster de destination

5. Supprimez les clusters CDH (autres que celui que nous devons migrer) et le CMS de l’environnement de destination.
Cloudera Manager → Cluster 1 → Action → Supprimer
Cloudera Manager → Service de gestion Cloudera → Actions → Supprimer

Modèle final prêt dans le cluster de destination

6. Arrêter le cluster sur le CM source
Assurez-vous que nous avons arrêté tous les services et l’agent CM sur les hôtes «Cluster 2».
Cloudera Manager → Cluster 2 → Actions → Arrêter

service cloudera-scm-agent stop
service cloudera-scm-agent status
CM source avec deux clusters. «Cluster 1» avec CDH 6.3.2 et «Cluster 2» avec CDH 5.16.2

7. Rétrogradation des agents CM
Optionnel: Si vous utilisez une version CM différente dans la destination par rapport à la source,
copiez le fichier de référentiel CM sur les nœuds d’agent CM. Utilisez le même référentiel que celui utilisé à l’étape 1. Ensuite, rétrogradez la version de l’agent CM.

8. Pointage de l’agent CM vers le serveur de cluster de destination
Dans le cluster de destination, connectez-vous à tous les hôtes de l’agent CM et modifiez la valeur de la propriété serveur_hôte pour pointer vers le serveur CM de destination.

cat /etc/cloudera-scm-agent/config.ini | grep server_host
server_host=<DESTINATION_CM_HOST>

9. Agent CM de départ
Il y aurait un décalage dans le cm_guid fichier après sa réinstallation. Exécutez la commande ci-dessous et démarrez l’agent CM.

rm -rf /var/lib/cloudera-scm-agent/cm_guid
service cloudera-scm-agent start

dix. Réactiver le colis
Dans le cluster de destination, désactivez et activez le colis.
Cloudera Manager → Colis → CDH 5 (5.16.2) → Désactiver → Activer

11. Mettre en place un service de gestion Cloudera
Cloudera Manager → Ajouter le service de gestion Cloudera

Ajouter le service de gestion Cloudera
Le CMS est installé avec succès

12. Redémarrage des services de cluster
Cloudera Manager → Cluster → Actions → Redémarrer

Redémarrage des services de cluster
Tous les services sont stables après le redémarrage

13. Confirmez qu’il n’y a pas d’incohérences dans les données une fois que vous avez migré un cluster.

14. Suppression du cluster du CM source
Comme nous avons réussi à migrer le cluster vers le CM de destination, nous supprimerons le cluster «Cluster-2» du CM source.

Cluster supprimé du CM source

Nous avons maintenant migré avec succès un cluster CDH d’un CM à un autre!

Les références –

https://docs.cloudera.com/documentation/enterprise/5-16-x/topics/cm_intro_api.html#concept_dnn_cr5_mr__section_ztf_lyt_xr

https://docs.cloudera.com/documentation/enterprise/5-16-x/topics/cm_intro_api.html#concept_dnn_cr5_mr__section_acm_lyt_xr