Lancer un cluster Amazon EMR doté de plusieurs nœuds primaires - Amazon EMR

Lancer un cluster Amazon EMR doté de plusieurs nœuds primaires

Cette rubrique fournit des détails de configuration et des exemples pour le lancement d'un cluster Amazon EMR avec plusieurs nœuds primaires.

Note

Amazon EMR active automatiquement la protection contre la résiliation pour tous les clusters comportant plusieurs nœuds primaires et remplace tous les paramètres de terminaison automatique que vous fournissez lors de la création du cluster. Pour résilier un cluster comportant plusieurs nœuds primaires, vous devez d'abord modifier les attributs du cluster afin de désactiver la protection contre la résiliation. Pour obtenir des instructions, consultez Résiliation d'un cluster Amazon EMR avec plusieurs nœuds primaires.

Prérequis

  • Vous pouvez lancer un cluster Amazon EMR avec plusieurs nœuds primaires dans des sous-réseaux VPC publics et privés. EC2-Classic n'est pas pris en charge. Pour lancer un cluster Amazon EMR avec plusieurs nœuds primaires dans un sous-réseau public, vous devez activer les instances dans ce sous-réseau pour recevoir une adresse IP publique en sélectionnant Auto-assign IPv4 dans la console ou en exécutant la commande suivante. Remplacez 22XXXX01 avec l’ID de votre sous-réseau.

    aws ec2 modify-subnet-attribute --subnet-id subnet-22XXXX01 --map-public-ip-on-launch
  • Pour exécuter Hive, Hue ou Oozie sur un cluster Amazon EMR comportant plusieurs nœuds primaires, vous devez créer un métastore externe. Pour plus d'informations, consultez Configuration d'une métastore externe pour Hive, Utilisation de Hue avec une base de données distante dans Amazon RDS ou Apache Oozie.

  • Pour utiliser l'authentification Kerberos dans votre cluster, vous devez configurer un KDC externe. Pour plus d'informations, consultez Configuration de Kerberos sur Amazon EMR.

Lancer un cluster Amazon EMR doté de plusieurs nœuds primaires

Vous devez spécifier une valeur de nombre d'instances de trois pour le groupe d'instances du nœud primaire lorsque vous lancez un cluster Amazon EMR avec plusieurs nœuds primaires. Les exemples suivants montrent comment lancer le cluster à l'aide de l'AMI par défaut ou une AMI personnalisée.

Note

Vous devez spécifier l'ID de sous-réseau lorsque vous lancez un cluster Amazon EMR avec plusieurs nœuds primaires à l'aide de l'AWS CLI. Remplacez 22XXXX01 avec votre ID de sous-réseau dans les exemples suivants.

Exemple – Lancement d'un cluster Amazon EMR avec plusieurs nœuds primaires à l'aide d'une AMI par défaut
aws emr create-cluster \ --name "ha-cluster" \ --release-label emr-5.36.1 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=3,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=4,InstanceType=m5.xlarge \ --ec2-attributes KeyName=ec2_key_pair_name,InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-22XXXX01 \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark
Exemple – Lancement d'un cluster Amazon EMR avec plusieurs nœuds primaires à l'aide d'une AMI personnalisée
aws emr create-cluster \ --name "custom-ami-ha-cluster" \ --release-label emr-5.36.1 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=3,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=4,InstanceType=m5.xlarge \ --ec2-attributes KeyName=ec2_key_pair_name,InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-22XXXX01 \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark \ --custom-ami-id ami-MyAmiID
Exemple – Lancement d'un cluster Amazon EMR avec plusieurs nœuds primaires avec un métastore Hive externe

Pour exécuter Hive sur un cluster Amazon EMR avec plusieurs nœuds primaires, vous devez spécifier un métastore externe pour Hive, comme l'exemple suivant le montre,

  1. Créez un fichier hiveConfiguration.json temporaire qui contient les informations d'identification pour votre métastore Hive.

    [ { "Classification": "hive-site", "Properties": { "javax.jdo.option.ConnectionURL": "jdbc:mysql:\/\/hostname:3306\/hive?createDatabaseIfNotExist=true", "javax.jdo.option.ConnectionDriverName": "org.mariadb.jdbc.Driver", "javax.jdo.option.ConnectionUserName": "username", "javax.jdo.option.ConnectionPassword": "password" } } ]
  2. Lancez le cluster avec le métastore Hive.

    aws emr create-cluster \ --name "ha-cluster-with-hive-metastore" \ --release-label emr-5.36.1 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=3,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=4,InstanceType=m5.xlarge \ --ec2-attributes KeyName=ec2_key_pair_name,InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-22XXXX01 \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name= Spark Name=Hive \ --configurations ./hiveConfiguration.json

Résiliation d'un cluster Amazon EMR avec plusieurs nœuds primaires

Pour résilier un cluster Amazon EMR avec plusieurs nœuds primaires, vous devez désactiver la protection contre la résiliation avant de résilier le cluster, comme le montre l'exemple suivant. Remplacez j-3KVTXXXXXX7UG par votre ID de cluster.

aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-termination-protected aws emr terminate-clusters --cluster-id j-3KVTXXXXXX7UG