Crea un clúster de Managed Service para Apache Spark
Requisitos:
Nombre: El nombre del clúster debe comenzar con una letra minúscula seguida por un máximo de 51 letras minúsculas, números y guiones, y no puede terminar con un guion.
Región del clúster: Debes especificar una región de Compute Engine para el clúster, como
us-east1oeurope-west1, para aislar los recursos del clúster, como las instancias de VM y los metadatos del clúster almacenados en Cloud Storage, dentro de la región.- Consulta Región del clúster para obtener más información sobre las regiones de Compute Engine.
- Consulta Regiones y zonas disponibles para obtener información sobre cómo seleccionar una región. También puedes ejecutar el comando
gcloud compute regions listpara mostrar una lista de las regiones disponibles.
Conectividad: Las instancias de máquina virtual de Compute Engine (VM) en un clúster de Managed Service para Apache Spark, que consta de VM principales y de trabajador, requieren conectividad cruzada total de redes de IP interna. La red de VPC
defaultproporciona esta conectividad (consulta Configuración de red del clúster de Managed Service para Apache Spark).Tipo de máquina (recomendado): Si bien especificar un tipo de máquina es opcional, Google recomienda que selecciones de forma explícita un tipo de máquina para las VMs principales y de trabajador de tu clúster. Si no especificas un tipo de máquina, Managed Service para Apache Spark selecciona de forma dinámica los tipos de máquinas según la disponibilidad de recursos. Esta selección dinámica puede generar variaciones en el costo y el rendimiento.
- Para obtener más información sobre cómo elegir un tipo de máquina, consulta Tipos de máquinas compatibles.
- Para mitigar posibles problemas de falta de disponibilidad de recursos, te recomendamos que uses VMs flexibles, que te permiten especificar una lista de tipos de máquinas aceptables.
Console
Abre la página de Managed Service para Apache Spark Create a cluster (Crear un clúster) en la consola de Google Cloud en tu navegador y, luego, haz clic en Crear en la fila del clúster en Compute Engine en la página Crear un clúster de Dataproc en Compute Engine. El panel Configura el clúster se selecciona con campos completados con valores predeterminados. Puedes seleccionar cada panel y confirmar o cambiar los valores predeterminados para personalizar tu clúster.
Haz clic en Crear para generar el clúster. El nombre del clúster aparece en la página Clústeres y su estado se actualiza a En ejecución después de aprovisionar el clúster. Haz clic en el nombre del clúster para abrir su página de detalles, en la que podrás examinar los trabajos, las instancias y los ajustes de configuración de tu clúster, y conectarte a las interfaces web que se ejecutan en él.
gcloud
Para crear un clúster de Managed Service para Apache Spark en la línea de comandos, ejecuta el comando gcloud dataproc clusters create de forma local en una ventana de terminal o en Cloud Shell.
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --master-machine-type=MASTER_MACHINE_TYPE \ --worker-machine-type=WORKER_MACHINE_TYPE
El comando crea un clúster. Si bien los tipos de máquinas principales y de trabajador son opcionales, se recomienda especificarlos de forma explícita con las marcas --master-machine-type y --worker-machine-type (por ejemplo, n4-standard-4) para garantizar un costo y un rendimiento coherentes. Si no especificas tipos de máquinas, se seleccionarán tipos de máquinas predeterminados de forma dinámica según la disponibilidad de recursos. Consulta el comando gcloud dataproc clusters create si deseas obtener información sobre el uso de marcas de línea de comandos para personalizar la configuración de los clústeres.
Crea un clúster con un archivo YAML
- Ejecuta el siguiente comando de
gcloudpara exportar la configuración de un clúster de Managed Service para Apache Spark existente a un archivocluster.yaml.gcloud dataproc clusters export EXISTING_CLUSTER_NAME \ --region=REGION \ --destination=cluster.yaml
- Importa la configuración del archivo YAML para crear un clúster nuevo.
gcloud dataproc clusters import NEW_CLUSTER_NAME \ --region=REGION \ --source=cluster.yaml
Nota: Durante la operación de exportación, se filtran los campos específicos del clúster, como el nombre del clúster, los campos de solo salida y las etiquetas aplicadas automáticamente. Estos campos no están permitidos en el archivo YAML importado que se usa para crear un clúster.
REST
En esta sección, se muestra cómo crear un clúster. Si bien especificar los tipos de máquinas es opcional, se recomienda incluir machine_type_uri de forma explícita en tus master_config y worker_config (por ejemplo, n4-standard-4) para garantizar un costo y un rendimiento coherentes. Si no especificas tipos de máquinas, se seleccionarán tipos de máquinas predeterminados de forma dinámica según la disponibilidad de recursos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- CLUSTER_NAME: nombre del clúster
- PROJECT: Google Cloud ID del proyecto
- REGION: Es una región de Compute Engine disponible en la que se creará el clúster.
- ZONE: Es una zona opcional dentro de la región seleccionada en la que se creará el clúster.
- MASTER_MACHINE_TYPE: (Recomendado) Es el tipo de máquina del nodo principal (por ejemplo,
n4-standard-4). - WORKER_MACHINE_TYPE: (Recomendado) Es el tipo de máquina para los nodos trabajadores (por ejemplo,
n4-standard-4).
Método HTTP y URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT/regions/REGION/clusters
Cuerpo JSON de la solicitud:
{
"project_id":"PROJECT",
"cluster_name":"CLUSTER_NAME",
"config":{
"master_config":{
"num_instances":1,
"machine_type_uri":"MASTER_MACHINE_TYPE",
"image_uri":""
},
"softwareConfig": {
"imageVersion": "",
"properties": {},
"optionalComponents": []
},
"worker_config":{
"num_instances":2,
"machine_type_uri":"WORKER_MACHINE_TYPE",
"image_uri":""
},
"gce_cluster_config":{
"zone_uri":"ZONE"
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"name": "projects/PROJECT/regions/REGION/operations/b5706e31......",
"metadata": {
"@type": "type.googleapis.com/google.cloud.dataproc.v1.ClusterOperationMetadata",
"clusterName": "CLUSTER_NAME",
"clusterUuid": "5fe882b2-...",
"status": {
"state": "PENDING",
"innerState": "PENDING",
"stateStartTime": "2019-11-21T00:37:56.220Z"
},
"operationType": "CREATE",
"description": "Create cluster with 2 workers",
"warnings": [
"For PD-Standard without local SSDs, we strongly recommend provisioning 1TB ...""
]
}
}
Go
- Instala la biblioteca cliente.
- Configura credenciales predeterminadas de la aplicación.
- Ejecuta el código.
Nota: Si bien especificar los tipos de máquinas es opcional, se recomienda establecer de forma explícita los tipos de máquinas principales y de trabajo en la configuración del clúster (por ejemplo, en
n4-standard-4) para garantizar un costo y un rendimiento coherentes. Si se omite, los tipos de máquinas predeterminados se seleccionan de forma dinámica según la disponibilidad de recursos.
Java
- Instala la biblioteca cliente.
- Configura credenciales predeterminadas de la aplicación.
- Ejecuta el código.
Nota: Si bien especificar los tipos de máquinas es opcional, se recomienda establecer de forma explícita los tipos de máquinas principales y de trabajo en la configuración del clúster (por ejemplo, en
n4-standard-4) para garantizar un costo y un rendimiento coherentes. Si se omite, los tipos de máquinas predeterminados se seleccionan de forma dinámica según la disponibilidad de recursos.
Node.js
- Instala la biblioteca cliente.
- Configura credenciales predeterminadas de la aplicación.
- Ejecuta el código.
Nota: Si bien especificar los tipos de máquinas es opcional, se recomienda establecer de forma explícita los tipos de máquinas principales y de trabajo en la configuración del clúster (por ejemplo, en
n4-standard-4) para garantizar un costo y un rendimiento coherentes. Si se omite, los tipos de máquinas predeterminados se seleccionan de forma dinámica según la disponibilidad de recursos.
Python
- Instala la biblioteca cliente.
- Configura credenciales predeterminadas de la aplicación.
- Ejecuta el código.
Nota: Si bien especificar los tipos de máquinas es opcional, se recomienda establecer de forma explícita los tipos de máquinas principales y de trabajo en la configuración del clúster (por ejemplo, en
n4-standard-4) para garantizar un costo y un rendimiento coherentes. Si se omite, los tipos de máquinas predeterminados se seleccionan de forma dinámica según la disponibilidad de recursos.