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,
-
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" } } ]
-
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-idj-3KVTXXXXXX7UG