Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| eadl:bloc5:fm3:td2 [2026/09/27 18:05] – [1.2 Choisir les logiciels] jcheron | eadl:bloc5:fm3:td2 [2026/09/28 07:17] (Version actuelle) – [5.2 Vérifier les chemins S3] jcheron | ||
|---|---|---|---|
| Ligne 81: | Ligne 81: | ||
| - récupérez `mapper.py` et `reducer.py` du TD1 ; | - récupérez `mapper.py` et `reducer.py` du TD1 ; | ||
| - vérifiez que vous avez accès à la console AWS ; | - vérifiez que vous avez accès à la console AWS ; | ||
| - | - sélectionnez la région | + | - sélectionnez la région AWS '' |
| - | - récupérez ou créez une paire de clés EC2 selon la procédure du cours ; | + | |
| - | - identifiez le bucket S3 attribué à votre binôme ou créez-en un uniquement si l’enseignant l’autorise. | + | |
| - | + | ||
| - | <WRAP important round> | + | |
| - | **Ne mettez jamais une clé AWS, un mot de passe, une clé privée SSH ou un jeton dans un fichier envoyé sur S3.** Une clé SSH privée doit rester sur votre poste, avec des permissions restrictives : | + | |
| - | + | ||
| - | <sxh bash; | + | |
| - | chmod 400 ma-cle-emr.pem | + | |
| - | </ | + | |
| - | </ | + | |
| ---- | ---- | ||
| Ligne 144: | Ligne 134: | ||
| ===== 1.3 Comprendre les nœuds ===== | ===== 1.3 Comprendre les nœuds ===== | ||
| - | Dans la section matériel | + | Dans la section matériel, |
| - | * **1 nœud primaire (master)** ; | + | La console affiche alors trois rôles : |
| - | * **2 nœuds core** ; | + | |
| - | * **0 ou 1 nœud task** selon le quota et la consigne de l’enseignant. | + | |
| - | Le type d’instance | + | * **Primaire** ; |
| + | * **Unité principale** ; | ||
| + | * **Tâche - 1** (et suivantes si plusieurs nœuds de ce type). | ||
| + | |||
| + | Remplacez le type d'instance | ||
| <sxh text> | <sxh text> | ||
| - | Exemple pédagogique à adapter aux quotas du compte | + | Configuration recommandée pour ce TD : |
| - | | + | |
| - | | + | |
| - | | + | |
| </ | </ | ||
| - | ^ Groupe EMR ^ Nombre choisi ^ Type d’instance ^ Rôle attendu ^ | + | ^ Groupe EMR ^ Nombre choisi ^ Type d'instance ^ Rôle attendu ^ |
| - | | Primary / Master | + | | Primaire |
| - | | Core | | | stockage HDFS et exécution YARN | | + | | Unité principale |
| - | | Task | | | exécution YARN sans stockage HDFS durable du cluster | | + | | Tâche - 1 | 1 | m5.xlarge |
| + | |||
| + | <WRAP tip round> | ||
| + | La famille **m5** est une famille d' | ||
| + | |||
| + | À noter : avec une seule instance d' | ||
| + | </ | ||
| ===== 1.4 Faire le rapprochement avec le TD1 ===== | ===== 1.4 Faire le rapprochement avec le TD1 ===== | ||
| Ligne 181: | Ligne 180: | ||
| - Le nombre de nœuds choisi suffit-il à démontrer une tolérance de panne réelle ? Pourquoi ? | - Le nombre de nœuds choisi suffit-il à démontrer une tolérance de panne réelle ? Pourquoi ? | ||
| - | ===== 1.5 Configurer les rôles IAM ===== | + | ===== 1.5 Réseau |
| - | La console propose des rôles IAM pour EMR et EC2, souvent créés automatiquement ou sélectionnés parmi des rôles | + | Sur un compte AWS standard, un **VPC par défaut** existe déjà dans chaque région, avec un subnet public dans chaque zone de disponibilité. EMR le sélectionne automatiquement |
| - | - rôle de service EMR ; | + | Dans la section réseau |
| - | - profil d’instance EC2 pour les nœuds ; | + | |
| - | - rôle souvent associé à l’auto-scaling selon les options retenues. | + | |
| - | Utilisez les rôles pédagogiques déjà fournis lorsque l’enseignant les a préparés. Sinon, choisissez l’option de création recommandée | + | 1. vérifiez que le VPC proposé est bien le VPC par défaut (``vpc-xxxxxxxx (default)``) ; |
| + | 2. un subnet est présélectionné : laissez | ||
| + | 3. les security groups sont créés automatiquement par EMR (un pour le master, un pour les core/task) si vous ne modifiez rien. | ||
| - | ^ Élément IAM ^ Valeur sélectionnée ^ À quoi sert-il ? ^ | + | Notez les valeurs proposées automatiquement : |
| - | | EMR service role | | autoriser EMR à gérer | + | |
| - | | EC2 instance profile | | permettre aux instances d’appeler les services autorisés, notamment S3 selon la configuration | | + | |
| - | | Rôle d’auto-scaling | | seulement si l’option est utilisée | | + | |
| - | < | + | ^ Paramètre réseau ^ Valeur ^ Observation ^ |
| - | **Ne confondez | + | | VPC | | par défaut | |
| + | | Subnet | | public (zone de disponibilité) | | ||
| + | | Security group master | | créé automatiquement par EMR | | ||
| + | | Security group core/task | | créé automatiquement par EMR | | ||
| + | | Adresse publique du master | | oui, par défaut sur subnet public | | ||
| + | |||
| + | < | ||
| + | Le security group du master créé par défaut n' | ||
| </ | </ | ||
| - | Question | + | Répondez |
| - | ===== 1.6 Choisir le réseau | + | - Pourquoi un cluster peut-il avoir besoin d'une communication interne même si vous ne vous connectez qu'au master ? |
| + | - Pourquoi les nœuds core et task ne doivent-ils généralement pas être ouverts directement à Internet ? | ||
| + | - Dans Docker Compose, quelles règles de réseau étaient implicites ou locales ? | ||
| + | ===== 1.6 Paire de clés EC2 (accès SSH) ===== | ||
| - | Dans la section réseau : | + | Pour pouvoir se connecter en SSH au nœud primaire du cluster (console, exécution manuelle de commandes Hadoop, consultation de fichiers de logs), une **paire de clés EC2** est nécessaire. |
| - | | + | |
| - | | + | |
| - | 3. si le master doit être joint en SSH depuis Internet, vérifiez que le subnet est public et qu’une route vers une Internet Gateway existe, selon la consigne | + | |
| - | 4. choisissez ou créez les security groups recommandés par la formation ; | + | |
| - | 5. activez l’accès SSH uniquement depuis votre adresse IP lorsque la console | + | |
| - | Notez : | + | <sxh text> |
| + | Étapes (en dehors de la création du cluster EMR) : | ||
| + | EC2 > Réseau et sécurité > Paires de clés > Créer une paire de clés | ||
| + | Nom : td-hadoop-votrenom | ||
| + | Type de clé : RSA | ||
| + | Format de fichier privé : | ||
| + | - .pem si vous vous connectez depuis Linux/Mac ou WSL | ||
| + | - .ppk si vous utilisez PuTTY sous Windows | ||
| + | </ | ||
| - | ^ Paramètre réseau ^ Valeur ^ Observation ^ | + | <WRAP important> |
| - | | VPC | | | | + | Le fichier de clé privée est **téléchargé une seule fois**. Conservez-le précieusement (par exemple dans votre dossier utilisateur, avec des droits restreints) : il ne pourra pas être retéléchargé depuis la console AWS. |
| - | | Subnet | | public, privé ou autre | | + | |
| - | | Security group master | | ports autorisés | | + | |
| - | | Security group core/task | | accès interne entre nœuds | | + | |
| - | | Adresse publique du master | | oui / non | | + | |
| - | Répondez | + | Sous Linux/Mac, pensez à restreindre les droits du fichier avant de l' |
| + | <sxh bash> | ||
| + | chmod 400 td-hadoop-votrenom.pem | ||
| + | </ | ||
| + | </ | ||
| - | - Pourquoi un cluster peut-il avoir besoin d’une communication interne même si vous ne vous connectez qu’au master ? | + | Dans la configuration du cluster EMR, section **Sécurité**, |
| - | - Pourquoi les nœuds core et task ne doivent-ils généralement pas être ouverts directement à Internet ? | + | |
| - | - Dans Docker Compose, quelles règles | + | |
| - | ===== 1.7 Associer la clé SSH et créer le cluster ===== | + | ===== 1.7 Rôles IAM ===== |
| + | |||
| + | EMR nécessite deux rôles IAM pour fonctionner : | ||
| + | |||
| + | * un **rôle de service EMR** (permet à EMR de gérer les ressources EC2, réseau, etc. en votre nom) ; | ||
| + | * un **rôle de profil d' | ||
| + | |||
| + | Dans la section **Rôle IAM**, AWS propose deux options pour chacun de ces deux rôles : | ||
| + | |||
| + | * **Choisir une fonction du service existant** : sélectionne un rôle déjà créé auparavant ; | ||
| + | * **Créer une fonction du service** : AWS crée automatiquement le rôle nécessaire. | ||
| + | |||
| + | <WRAP tip round> | ||
| + | **Cas attendu : votre compte est un compte AWS standard (personnel, free tier ou passé en basic)** | ||
| + | |||
| + | Sur ce type de compte, vous disposez normalement des droits IAM complets. Choisissez **Créer une fonction du service** pour les deux champs. AWS génère automatiquement les rôles nécessaires, | ||
| + | - ``EMR_DefaultRole`` ou ``AmazonEMR-ServiceRole-xxxx`` (rôle de service) ; | ||
| + | - ``EMR_EC2_DefaultRole`` ou ``AmazonEMR-InstanceProfile-xxxx`` (profil d' | ||
| + | |||
| + | Ces rôles seront ensuite proposés automatiquement lors des prochaines créations de cluster. C'est le cas normal et attendu pour ce TD. | ||
| + | </ | ||
| + | |||
| + | <WRAP important> | ||
| + | **Cas exceptionnel : erreur de création (droits IAM restreints ou rôle déjà partiellement créé)** | ||
| + | |||
| + | Il peut arriver, même sur un compte standard, qu' | ||
| + | |||
| + | Si vous tentez **Créer une fonction du service** pour le champ **Fonction du service EC2** et obtenez une erreur du type : | ||
| + | |||
| + | < | ||
| + | Échec de la création du rôle EMR_EC2_DefaultRole. Vous n' | ||
| + | </ | ||
| + | |||
| + | **Marche à suivre dans ce cas :** | ||
| + | |||
| + | - Retournez sur **Choisir une fonction du service existant** pour le champ **Fonction du service EC2** ; | ||
| + | - vérifiez si un rôle apparaît dans la liste déroulante, | ||
| + | - sélectionnez-le s'il apparaît. | ||
| + | |||
| + | **Si l' | ||
| + | </ | ||
| + | |||
| + | ===== 1.8 Associer la clé SSH et créer le cluster ===== | ||
| 1. Sélectionnez la paire de clés EC2 fournie ou créée pour le TD. | 1. Sélectionnez la paire de clés EC2 fournie ou créée pour le TD. | ||
| Ligne 239: | Ligne 290: | ||
| </ | </ | ||
| - | ===== Bilan de la mission 1 ===== | ||
| - | |||
| - | Complétez : | ||
| - | |||
| - | - Le temps entre le clic sur « créer » et l’état utilisable est de : `__________`. | ||
| - | - Les choix qui ont demandé le plus de réflexion sont : `__________`. | ||
| - | - La différence principale entre un cluster EMR et les conteneurs du TD1 est : `__________`. | ||
| - | |||
| - | ---- | ||
| ====== Mission 2 — Explorer le cluster depuis le master ====== | ====== Mission 2 — Explorer le cluster depuis le master ====== | ||
| Ligne 263: | Ligne 305: | ||
| </ | </ | ||
| - | Le nom d’utilisateur dépend de l’image | + | Le nom d’utilisateur dépend de l’image. Pour une AMI EMR standard, `hadoop` est couramment utilisé ; ne remplacez pas ce nom au hasard si la consigne de votre compte indique autre chose. |
| À la première connexion, vérifiez l’empreinte proposée. Si vous obtenez `Permission denied (publickey)`, | À la première connexion, vérifiez l’empreinte proposée. Si vous obtenez `Permission denied (publickey)`, | ||
| Ligne 578: | Ligne 620: | ||
| </ | </ | ||
| - | Hadoop refuse généralement d’écrire dans un répertoire de sortie déjà présent. Utilisez un nouveau préfixe ou supprimez uniquement votre ancien résultat de test si l’enseignant l’autorise. | + | Hadoop refuse généralement d’écrire dans un répertoire de sortie déjà présent. |
| ===== 5.3 Lancer le job ===== | ===== 5.3 Lancer le job ===== | ||