En esta página, se muestra cómo configurar un servicio de Dataproc Metastore multirregional. Para obtener más información sobre cómo los modelos multirregionales Los servicios de Dataproc Metastore funcionan. Consulta Dataproc Metastore. regiones.
Antes de comenzar
- Habilitar Dataproc Metastore en tu proyecto.
- Comprende los requisitos de red específicas de tu proyecto.
- Más información sobre las regiones de Dataproc Metastore y elige una región adecuada.
Roles obligatorios
Para obtener el permiso que necesitas para crear un servicio de Metastore de Dataproc multirregional, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto, según el principio de privilegio mínimo:
-
Otorga control total a los recursos de Dataproc Metastore (
roles/metastore.editor
) -
Otorgar acceso completo a todos los recursos de Dataproc Metastore, incluida la administración de políticas de IAM (
roles/metastore.admin
)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene las
metastore.services.create
permiso,
que se requiere para
crear un servicio de Dataproc Metastore multirregional.
Es posible que también puedas obtener este permiso con roles personalizados otros roles predefinidos.
Para obtener más información sobre roles y permisos específicos de Dataproc Metastore, consulta Administra el acceso con la IAM.Acerca de los servicios multirregionales de Dataproc Metastore
Los servicios multirregionales de Dataproc Metastore almacenan tus datos en dos regiones diferentes y usan las dos regiones para ejecutar tus cargas de trabajo. Por ejemplo:
La multirregión nam7
contiene las regiones us-central1
y us-east4
.
Un servicio multirregional de Dataproc Metastore replica los metadatos en dos regiones y expone los extremos relevantes para acceder a Hive Metastore Para gRPC, se expone un extremo por región. Para Thrift, uno extremo por subred está expuesto.
Un servicio multirregional de Dataproc Metastore proporciona un Configuración del clúster de alta disponibilidad (HA) activa-activa. Esta significa que las cargas de trabajo pueden acceder a cualquiera de las regiones cuando ejecutan trabajos. También proporciona un mecanismo de conmutación por error para tu servicio. Por ejemplo, si tu extremo regional principal falla, tus cargas de trabajo se enrutan automáticamente a la región secundaria. Esto ayuda a evitar interrupciones en el procesamiento de seguridad en la nube.
Consideraciones
Las siguientes consideraciones se aplican a Dataproc Metastore multirregional de Google Cloud.
Los servicios multirregionales solo admiten el tipo de base de datos de Spanner. revisa la lista de funciones compatibles antes de crear tu cuenta servicio.
Los servicios multirregionales solo admiten Dataproc Metastore 2 parámetros de configuración.
Los servicios multirregionales crean buckets de artefactos en Cloud Storage. ubicación multirregional. Por ejemplo: Los buckets
Nam7
se crean en la ubicación multirregionalUS
.
Crea un servicio multirregional de Dataproc Metastore
Elige una de las siguientes pestañas para aprender a crear un servicio multirregional con el protocolo de extremo Thrift o gRPC, con un Servicio 2 de Dataproc Metastore.
gRPC
Cuando creas un servicio multirregional que usa el protocolo de extremo de gRPC, puedes no tienes que establecer ninguna configuración de red específica. El protocolo gRPC controla el enrutamiento de red por ti.
Console
En la consola de Google Cloud, ve a Dataproc Metastore. .
En la barra de navegación, haz clic en +Crear.
Se abrirá el diálogo Crear servicio de Metastore.
Selecciona Dataproc Metastore 2.
En la sección Precios y capacidad, selecciona Enterprise Plus - Dual region
Para el Protocolo de extremo, selecciona gRPC.
Para crear y, luego, iniciar el servicio, haz clic en Enviar.
Tu nuevo servicio de metastore aparecerá en la página Dataproc Metastore. El estado mostrará Creando hasta que el servicio esté listo para usarse. Cuando esté lista, el estado cambiará a Activa. Es posible que el aprovisionamiento del servicio tarde unos minutos.
gcloud CLI
Para crear un servicio multirregional de Dataproc Metastore, ejecuta el siguiente comando gcloud metastore services create
. Este comando crea la versión 3.1.2 de Dataproc Metastore.
gcloud metastore services create SERVICE \ --location=MULTI_REGION \ { --instance-size=INSTANCE_SIZE | --scaling-factor=SCALING_FACTOR } \ --endpoint-protocol=grpc
Reemplaza lo siguiente:
SERVICE
: Es el nombre de tu Servicio de Dataproc Metastore.MULTI_REGION
: Es la multirregión que estás creando tu servicio de Dataproc Metastore.INSTANCE_SIZE
: Es el tamaño de la instancia. de tu instancia de Dataproc Metastore multirregional. Por ejemplo,small
,medium
olarge
. Si especificas un valor paraINSTANCE_SIZE
, no especifica un valor paraSCALING_FACTOR
.SCALING_FACTOR
: Es el factor de escala. de tu servicio de Dataproc Metastore. Por ejemplo,0.1
. Si especificas un valor paraSCALING_FACTOR
, no especifiques un valor paraINSTANCE_SIZE
De segunda mano
Al crear un servicio multirregional que usa el protocolo de extremo de Thrift, puedes debe establecer la configuración de subred adecuada. En este caso, para cada red de VPC que uses, debes proporcionar al menos una subred de cada región.
Por ejemplo, para crear la multirregión nam7
, debes proporcionar el
us-central1
y us-east4
regiones.
Console
En la consola de Google Cloud, ve a Dataproc Metastore. .
En la barra de navegación, haz clic en +Crear.
Se abrirá el diálogo Crear servicio de Metastore.
Selecciona Dataproc Metastore 2.
En la sección Precios y capacidad, selecciona Enterprise Plus - Dual region
Para obtener más información, consulta Planes de precios y parámetros de configuración de escalamiento.
En el campo Nombre del servicio, ingresa un nombre único para tu servicio.
Para obtener información sobre las convenciones de nombres, consulta Convenciones de nomenclatura de recursos.
Para el Protocolo de extremo, selecciona Thrift.
En Configuración de red, proporciona las subredes que forman la configuración multirregional que elegiste.
Para las opciones de configuración del servicio restantes, usa los valores predeterminados proporcionados.
Para crear y, luego, iniciar el servicio, haz clic en Enviar.
Tu nuevo servicio de metastore aparecerá en la página Dataproc Metastore. El estado mostrará Creando hasta que el servicio esté listo para usarse. Cuando esté lista, el estado cambiará a Activa. Es posible que el aprovisionamiento del servicio tarde unos minutos.
gcloud CLI
Para crear un servicio multirregional de Dataproc Metastore, haz lo siguiente:
Ejecuta el siguiente comando gcloud metastore services create
.
Este comando crea la versión 3.1.2 de Dataproc Metastore.
gcloud metastore services create SERVICE \ --location=MULTI_REGION \ --consumer-subnetworks="projects/PROJECT_ID/regions/LOCATION1/subnetworks/SUBNET1,projects/PROJECT_ID/regions/LOCATION2/subnetworks/SUBNET2" \ { --instance-size=INSTANCE_SIZE | --scaling-factor=SCALING_FACTOR } \ --endpoint-protocol=thrift
O puedes almacenar la configuración de red en un archivo, como se muestra en siguiente comando.
gcloud metastore services create SERVICE \ --location=MULTI_REGION \ --network-config-from-file=NETWORK_CONFIG_FROM_FILE { --instance-size=INSTANCE_SIZE | --scaling-factor=SCALING_FACTOR } \ --endpoint-protocol=thrift
Reemplaza lo siguiente:
SERVICE
: Es el nombre de tu Servicio de Dataproc Metastore.MULTI_REGION
: Es la multirregión que estás creando tu servicio de Dataproc Metastore.PROJECT_ID
: Es el ID del proyecto de Google Cloud que estás creando tu servicio de Dataproc Metastore.SUBNET1
,SUBNET2
: una lista de y subredes que forman una configuración multirregional. Puedes usar el ID, la URL completamente calificada o el nombre relativo de la subred. Puedes especificar hasta seis subredes.LOCATION1
,LOCATION2
: una lista de ubicaciones que forman una configuración multirregional. Puedes usar el ID de la ubicación. Por ejemplo, para una multirregiónnam7
, usasus-central1
yus-east4
.NETWORK_CONFIG_FROM_FILE
: Es la ruta a un Archivo YAML que contiene la configuración de red.INSTANCE_SIZE
: Es el tamaño de la instancia. de tu instancia de Dataproc Metastore multirregional. Por ejemplo,small
,medium
olarge
. Si especificas un valor paraINSTANCE_SIZE
, no especifica un valor paraSCALING_FACTOR
.SCALING_FACTOR
: Es el factor de escala. de tu servicio de Dataproc Metastore. Por ejemplo,0.1
. Si especificas un valor paraSCALING_FACTOR
, no especifiques un valor paraINSTANCE_SIZE
REST
Aprende a crear un Dataproc Metastore multirregional sigue las instrucciones para crear un servicio con el Explorador de APIs de Google.
Para configurar un servicio multirregional, proporciona la siguiente información
en los objetos Network Config
"network_config": { "consumers": [ {"subnetwork": "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1"}, {"subnetwork": "projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET2"} ], "scaling_config": { "scaling_factor": SCALING_FACTOR } }
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de Google Cloud. del proyecto que contiene tu servicio de Dataproc Metastore.LOCATION
: Es la región de Google Cloud a la que donde reside el servicio de Dataproc Metastore.SUBNET1
,SUBNET2
: una lista de subredes que forman una configuración multirregional. Puedes usar la ID, URL completamente calificada o nombre relativo de la subred. Puedes especificar hasta cinco subredes.SCALING_FACTOR
: Es el factor de escala. que quieres usar para el servicio.
Conecta Dataproc Metastore a un clúster de Dataproc
Elige una de las siguientes pestañas para aprender a conectar una red multirregional Servicio de Dataproc Metastore desde un clúster de Dataproc.
gRPC
Para conectar un clúster de Dataproc, selecciona la pestaña que corresponda a versión de Dataproc Metastore que usas.
Dataproc Metastore 3.1.2
Crea las siguientes variables para tu clúster de Dataproc:
CLUSTER_NAME=CLUSTER_NAME PROJECT_ID=PROJECT_ID MULTI_REGION=MULTI_REGION DATAPROC_IMAGE_VERSION=DATAPROC_IMAGE_VERSION PROJECT=PROJECT SERVICE_ID=SERVICE_ID
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre de tu Dataproc. clúster.PROJECT_ID
: Es el proyecto de Google Cloud que contiene tu clúster de Dataproc. Asegúrate de que la subred a la que estás que usa tiene los permisos adecuados para acceder a este proyecto.MULTI_REGION
: Es la multirregión de Google Cloud que en las que quieres crear tu clúster de Dataproc.DATAPROC_IMAGE_VERSION
: Es la imagen de Dataproc. de la versión que usas con Dataproc Metastore servicio. Debes usar una versión de imagen de2.0
o posterior.PROJECT
: Es el proyecto que contiene tu Servicio de Dataproc Metastore.SERVICE_ID
: Es el ID del servicio de tu Servicio de Dataproc Metastore.
Para crear tu clúster, ejecuta el siguiente comando
gcloud dataproc clusters create
: kubectl.--enable-kerberos
es opcional. Incluye esta opción solo si estás usando kerberos con tu clúster.gcloud dataproc clusters create ${CLUSTER_NAME} \ --project ${PROJECT_ID} \ --region ${MULTI_REGION} \ --image-version ${DATAPROC_IMAGE_VERSION} \ --scopes "https://www.googleapis.com/auth/cloud-platform" \ --dataproc-metastore projects/${PROJECT}/locations/${MULTI_REGION}/services/${SERVICE_ID} \ [ --enable-kerberos ]
Dataproc Metastore 2.3.6
Crea las siguientes variables para tu servicio de Dataproc Metastore:
METASTORE_PROJECT=METASTORE_PROJECT METASTORE_ID=METASTORE_ID MULTI_REGION=MULTI_REGION SUBNET=SUBNET
Reemplaza lo siguiente:
METASTORE_PROJECT
: Es el proyecto de Google Cloud. que contiene tu servicio de Dataproc Metastore.METASTORE_ID
: Es el ID del servicio de tu Servicio de Dataproc Metastore.MULTI_REGION
: Es la ubicación multirregional que que quieres usar para tu servicio de Dataproc Metastore.SUBNET
: Es una de las subredes que estás usando. para tu servicio de Dataproc Metastore. O cualquier subred de la superior de las subredes que se usa para tu servicio.
Crea las siguientes variables para tu clúster de Dataproc:
CLUSTER_NAME=CLUSTER_NAME DATAPROC_PROJECT=DATAPROC_PROJECT DATAPROC_REGION=DATAPROC_REGION HIVE_VERSION=HIVE_VERSION IMAGE_VERSION=
r>IMAGE_VERSION Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre de tu Dataproc. clúster.DATAPROC_PROJECT
: Es el proyecto de Google Cloud que contiene tu clúster de Dataproc. Asegúrate de que la subred a la que estás que usa tiene los permisos adecuados para acceder a este proyecto.DATAPROC_REGION
: Es la región de Google Cloud que en las que quieres crear tu clúster de Dataproc.HIVE_VERSION
: Es la versión de Hive que usa el servicio Dataproc Metastore.IMAGE_VERSION
: Es la imagen de Dataproc. que usas con tu servicio de Dataproc Metastore.- En la versión 2.0 de Hive Metastore, usa la versión de imagen
1.5
. - Para la versión 3.1.2 de Hive Metastore, usa la versión de imagen
2.0
.
- En la versión 2.0 de Hive Metastore, usa la versión de imagen
Recupera el directorio del almacén de tu servicio de Dataproc Metastore y almacenarlos en una variable.
WAREHOUSE_DIR=$(gcloud metastore services describe "${METASTORE_ID}" --project "${METASTORE_PROJECT}" --location "${MULTI_REGION}" --format="get(hiveMetastoreConfig.configOverrides[hive.metastore.warehouse.dir])")
Crear un clúster de Dataproc configurado con una red multirregional Dataproc Metastore.
gcloud dataproc clusters create ${CLUSTER_NAME} \ --project "${DATAPROC_PROJECT}" \ --region ${DATAPROC_REGION} \ --scopes "https://www.googleapis.com/auth/cloud-platform" \ --subnet "${SUBNET}" \ --optional-components=DOCKER \ --image-version ${IMAGE_VERSION} \ --metadata "hive-version=${HIVE_VERSION},dpms-name=${DPMS_NAME}" \ --properties "hive:hive.metastore.uris=thrift://localhost:9083,hive:hive.metastore.warehouse.dir=${WAREHOUSE_DIR}" \ --initialization-actions gs://metastore-init-actions/mr-metastore-grpc-proxy/metastore-grpc-proxy.sh
De segunda mano
Opción 1: Edita el archivo hive-site.xml
- Busca el URI del extremo y el directorio del almacén de tu Servicio de Dataproc Metastore. Puedes elige cualquiera de los extremos expuestos.
- En la consola de Google Cloud, ve a la página Instancias de VM.
En la lista de instancias de máquina virtual, haz clic en SSH en la fila del nodo principal de Dataproc (
.*-m
).Se abrirá una ventana del navegador en tu directorio principal del nodo.
Abre el archivo
/etc/hive/conf/hive-site.xml
.sudo vim /etc/hive/conf/hive-site.xml
Verás un resultado similar al siguiente:
<property> <name>hive.metastore.uris</name> <value>ENDPOINT_URI</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>WAREHOUSE_DIR</value> </property>
Reemplaza lo siguiente:
ENDPOINT_URI
: Es el URI del extremo de tu servicio de Dataproc Metastore.WAREHOUSE_DIR
: Es la ubicación de tu Directorio de almacén de Hive.
Reinicia HiveServer2:
sudo systemctl restart hive-server2.service
Opción 2: Usa gcloud CLI
Ejecuta la siguiente gcloud CLI gcloud dataproc clusters create
kubectl.
- Busca el URI del extremo y el directorio del almacén de tu Servicio de Dataproc Metastore. Puedes elige cualquiera de los extremos expuestos.
gcloud dataproc clusters create CLUSTER_NAME \ --network NETWORK \ --project PROJECT_ID \ --scopes "https://www.googleapis.com/auth/cloud-platform" \ --image-version IMAGE_VERSION \ --properties "hive:hive.metastore.uris=ENDPOINT,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR"
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre de tu Dataproc. clúster.NETWORK
: Es el proyecto de Google Cloud que contiene tu clúster de Dataproc. Asegúrate de que la subred que usas tenga los permisos adecuados para acceder a este proyecto.PROJECT_ID
: Es la versión de Hive que usa el servicio Dataproc Metastore.IMAGE_VERSION
: Es la versión de la imagen de Dataproc que usas con tu servicio de Dataproc Metastore.- En la versión 2.0 de Hive Metastore, usa la versión de imagen
1.5
. - Para la versión 3.1.2 de Hive Metastore, usa la versión de imagen
2.0
.
- En la versión 2.0 de Hive Metastore, usa la versión de imagen
ENDPOINT
: Es el extremo de Thrift que usa tu Dataproc Metastore.WAREHOUSE_DIR
: Es el directorio del almacén de tu Dataproc Metastore.
Opciones de configuración de regiones personalizadas
Puedes configurar los servicios de Dataproc Metastore para usar una región personalizada configuración.
Una configuración de región personalizada permite que tu servicio ejecute cargas de trabajo desde dos regiones. Esto proporciona redundancia entre regiones, lo que significa que las cargas de trabajo pueden acceder a cualquiera de las regiones cuando ejecutes trabajos. También proporciona un mecanismo de conmutación por error para tu servicio. Por ejemplo, si uno de los extremos regionales falla, su las cargas de trabajo se enrutan automáticamente a la otra región. Esto ayuda a evitar interrupciones en tus cargas de trabajo y trabajos.
Los parámetros de configuración de regiones personalizadas también te permiten controlar dónde almacenas los metadatos y dónde exponer los extremos de Hive Metastore. Esto puede mejorar el rendimiento cuando se procesan cargas de trabajo.
Consideraciones
Las siguientes consideraciones se aplican a los servicios de Dataproc Metastore configurados con una configuración de región personalizada:
- Restricciones de vinculación o región: No se aplican todas las regiones y combinaciones por lo que está permitido.
- Limitaciones de solo lectura: Las regiones de solo lectura no pueden aceptar operaciones de escritura. Si se elige una región de solo lectura y no se puede acceder a la región la escritura no se procesa.
- Inmutabilidad de la configuración: Una vez establecida, no se puede configurar la región cambió.
- Solo para la pila de EE.UU.: Las regiones dobles personalizadas solo admiten la pila
US
y se limitado a los límites de EE.UU.
Crea un servicio de región personalizado
Para configurar una región personalizada, elige dos regiones adyacentes cuando crees tu servicio. Esta combinación puede ser dos regiones de lectura y escritura o una de lectura y escritura y una de solo lectura.
Console
En la consola de Google Cloud, ve a Dataproc Metastore. .
En la barra de navegación, haz clic en +Crear.
Se abrirá el diálogo Crear servicio de Metastore.
Selecciona Dataproc Metastore 2.
En la sección Precios y capacidad, selecciona Enterprise Plus - Dual region
En el campo Nombre del servicio, ingresa un nombre único para tu servicio.
En Ubicación de los datos, selecciona EE.UU. (continente).
Aparecerá la sección Regiones personalizadas.
En Regiones personalizadas, selecciona una región de lectura y escritura y una región de solo lectura. región.
Para las opciones de configuración del servicio restantes, usa los valores predeterminados proporcionados.
Para crear y, luego, iniciar el servicio, haz clic en Enviar.
Tu nuevo servicio de almacén de metadatos aparece en Dataproc Metastore . El estado mostrará Creando hasta que el servicio esté listo para usarse. Cuando esté lista, el estado cambiará a Activa. Es posible que el aprovisionamiento del servicio tarde unos minutos.
gcloud
Para crear un servicio de Dataproc Metastore con regiones personalizadas, haz lo siguiente:
ejecuta la siguiente gcloud CLI gcloud beta metastore services create
kubectl.
gcloud beta metastore services create SERVICE \ --read-write-regions
Reemplaza lo siguiente:
SERVICE
: Es el nombre de tu servicio de Dataproc Metastore.READ_WRITE_REGIONS
: Es una región de lectura y escritura compatible que es parte de la configuración de la región personalizada.READ_ONLY_REGIONS
: Es una región de solo lectura compatible que forma parte de la configuración de tu región personalizada.