Associer des hyperdisques à des VM Managed Service pour Apache Spark

Cette page explique comment associer des hyperdisques à des machines virtuelles (VM) dans un cluster Managed Service pour Apache Spark. Vous pouvez configurer les disques indépendamment pour les groupes de nœuds maîtres, de nœuds de calcul principaux et de nœuds de calcul secondaires. Ces disques sont associés aux nœuds du cluster en plus du disque de démarrage et de tous les disques SSD locaux associés aux nœuds du cluster.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that you have the permissions required to complete this guide.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Managed Service for Apache Spark API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that you have the permissions required to complete this guide.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Managed Service for Apache Spark API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Rôles requis

Certains rôles IAM sont requis pour exécuter les exemples de cette page. En fonction des règles d'administration, ces rôles peuvent déjà avoir été attribués. Pour vérifier les attributions de rôles, consultez Do you need to grant roles? (Devez-vous attribuer des rôles ?).

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Rôles utilisateur

Pour obtenir les autorisations nécessaires pour créer un cluster Managed Service for Apache Spark, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Rôle du compte de service

Pour vous assurer que le compte de service Compute Engine par défaut dispose des autorisations nécessaires pour créer un cluster Managed Service for Apache Spark, demandez à votre administrateur d'accorder le rôle IAM Nœud de calcul Dataproc (roles/dataproc.worker) au compte de service Compute Engine par défaut sur le projet.

Caractéristiques du disque

Les disques associés présentent les caractéristiques suivantes :

  • Cycle de vie : la durée de vie d'un disque associé correspond à celle de la VM à laquelle il est associé. Managed Service pour Apache Spark crée le disque lorsqu'il crée la VM et le supprime lorsqu'il supprime la VM.
  • Immuabilité : vous ne pouvez pas mettre à jour les propriétés d'un disque associé, telles que la taille, les IOPS ou le débit, une fois le cluster créé.
  • Installation et utilisation : Managed Service pour Apache Spark installe les disques sur /mnt/N, où N est un entier positif (par exemple, /mnt/1, /mnt/2). Les données HDFS et temporaires, telles que les sorties de shuffle, utilisent les disques associés au lieu du disque persistant de démarrage.

Configuration du disque

Vous pouvez spécifier les paramètres de configuration de disque suivants lorsque vous associez des disques à des nœuds de cluster Managed Service pour Apache Spark :

  • Type de disque : obligatoire. Type de disque à associer aux instances de VM. Les hyperdisques suivants sont acceptés :

    • hyperdisk-balanced
    • hyperdisk-extreme
    • hyperdisk-ml
    • hyperdisk-throughput

    Les disques de type hyperdisk balanced high availability et les disques persistants ne peuvent pas être associés aux nœuds de cluster.

  • Taille : facultatif. Taille du disque. La valeur doit être un nombre entier suivi de GB pour les gigaoctets ou de TB pour les téraoctets. Par exemple, 10GB associe un disque de 10 Go. Pour en savoir plus, consultez Limites de taille des Hyperdisques.

  • IOPS : facultatif. Indique les IOPS à provisionner pour le disque associé. Ce paramètre définit la limite d'opérations d'E/S de disque par seconde. Pour en savoir plus, consultez Niveaux de performances par défaut.

  • Débit (facultatif) : indique le débit à provisionner pour le disque associé. Ce paramètre définit la limite de débit en MiB par seconde. Pour en savoir plus, consultez Niveaux de performances par défaut.

Associer des disques à un cluster

Vous pouvez associer des disques lorsque vous créez un cluster Managed Service pour Apache Spark à l'aide de la gcloud CLI ou de l'API Dataproc pour spécifier les configurations de disque.

gcloud CLI

  • Pour associer des disques lorsque vous créez un cluster, utilisez les options --master-attached-disks, --worker-attached-disks ou --secondary-worker-attached-disks avec la commande gcloud dataproc clusters create.

  • Chaque indicateur accepte une liste de configurations de disque séparées par des points-virgules. Chaque configuration de disque est une liste de paires clé/valeur séparées par une virgule pour type, size, iops et throughput (voir Configuration du disque).

Exemple : La commande suivante crée un cluster et associe deux hyperdisques à chaque nœud de calcul principal.

gcloud dataproc clusters create CLUSTER_NAME \
    --region=REGION \
    --worker-attached-disks='type=hyperdisk-balanced,size=100GB,iops=5000,throughput=200;type=hyperdisk-throughput,size=9000GB'

API

  • Pour associer des disques, incluez un tableau attachedDiskConfigs dans l'objet diskConfig pour le groupe d'instances masterConfig, workerConfig ou secondaryWorkerConfig.

  • Fournissez la configuration dans le corps d'une requête d'API clusters.create.

Exemple : L'extrait de code JSON suivant montre un tableau attachedDiskConfigs qui associe deux hyperdisques :

[
  {
    "diskType": "HYPERDISK_BALANCED",
    "diskSizeGb": 100,
    "provisionedIops": 5000,
    "provisionedThroughput": 200
  },
  {
    "diskType": "HYPERDISK_THROUGHPUT",
    "diskSizeGb": 9000
  }
]