En esta página, se muestra cómo usar la herramienta de línea de comandos de gcloud de Google Cloud CLI gcloud para crear un clúster de Managed Service for Apache Spark, ejecutar un trabajo de Apache Spark en el clúster y, luego, modificar la cantidad de trabajadores en el clúster.
Puedes averiguar cómo realizar las mismas tareas (o similares) con las guías de inicio rápido para usar el Explorador de API, la Google Cloud consola en Crea un clúster con la Google Cloud consola, y las bibliotecas cliente en Crea un clúster con bibliotecas cliente.
Antes de comenzar
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén más información para otorgar roles.
-
Crea un proyecto de: Google Cloud
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
Verifica que tengas los permisos necesarios para completar esta guía.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita la API de Dataproc:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene elserviceusage.services.enablepermiso. Obtén más información para otorgar roles.gcloud services enable dataproc.googleapis.com
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén más información para otorgar roles.
-
Crea un proyecto de: Google Cloud
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
Verifica que tengas los permisos necesarios para completar esta guía.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita la API de Dataproc:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene elserviceusage.services.enablepermiso. Obtén más información para otorgar roles.gcloud services enable dataproc.googleapis.com
Roles obligatorios
Se requieren ciertos roles de IAM para ejecutar los ejemplos de esta página. Según las políticas de la organización, es posible que ya se hayan otorgado estos roles. Para verificar las concesiones de roles, consulta ¿Necesitas otorgar roles?.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Funciones de usuario
Para obtener los permisos que necesitas para crear un clúster de Managed Service for Apache Spark, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Editor de Dataproc (
roles/dataproc.editor) en el proyecto -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser) en la cuenta de servicio predeterminada de Compute Engine
Función de cuenta de servicio
Para asegurarte de que la cuenta de servicio predeterminada de Compute Engine tenga los permisos necesarios para crear un clúster de Managed Service for Apache Spark, pídele a tu administrador que otorgue el rol de IAM de trabajador de Dataproc (roles/dataproc.worker) a la cuenta de servicio predeterminada de Compute Engine en el proyecto.
Crea un clúster
Para crear un clúster llamado example-cluster, ejecuta el siguiente
gcloud Managed Service for Apache Spark clusters create comando.
gcloud dataproc clusters create example-cluster --region=REGION
Reemplaza lo siguiente:
REGION: Especifica una región en la que se ubicará el clúster.
Envía un trabajo
Si quieres enviar un trabajo de Spark de muestra que calcula un valor aproximado para pi, ejecuta el
siguiente
comando gcloud Managed Service for Apache Spark jobs submit spark:
gcloud dataproc jobs submit spark --cluster example-cluster \ --region=REGION \ --class org.apache.spark.examples.SparkPi \ --jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000
Notas:
Reemplaza lo siguiente:
REGION: Especifica la región del clúster.
- El trabajo se ejecuta en
example-cluster. - La
classcontiene el método principal para SparkPi, que calcula un valor aproximado depi. en cada aplicación. - El archivo JAR contiene el código del trabajo.
1000es un parámetro de trabajo. Especifica la cantidad de tareas (iteraciones) que realiza el trabajo para calcular el valor depi.
La ejecución del trabajo y el resultado final se muestran en la ventana de terminal:
Waiting for job output... ... Pi is roughly 3.14118528 ... Job finished successfully.
Actualiza un clúster
Para cambiar a cinco la cantidad de trabajadores en el clúster, ejecuta el siguiente comando:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 5
El resultado del comando muestra los detalles del clúster:
workerConfig: ... instanceNames: - example-cluster-w-0 - example-cluster-w-1 - example-cluster-w-2 - example-cluster-w-3 - example-cluster-w-4 numInstances: 5 statusHistory: ... - detail: Add 3 workers.
Para disminuir la cantidad de nodos trabajadores al valor original de 2, ejecuta el siguiente comando:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 2
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página.
- Para borrar
example-cluster, ejecuta elclusters deletecomando:gcloud dataproc clusters delete example-cluster \ --region=REGION