Después de crear un servicio de Dataproc Metastore, puedes adjuntar cualquiera de los siguientes servicios:
- Un clúster de Dataproc
- Una instancia de Apache Hive autoadministrada, una instancia de Apache Spark o un clúster de Presto
Después de conectar uno de estos servicios, usará tu servicio de Dataproc Metastore como su almacén de metadatos de Hive durante la ejecución de consultas.
Antes de comenzar
- Habilita Dataproc Metastore en tu proyecto.
- Crea un servicio de Dataproc Metastore.
- Comprende los requisitos de red específicos de tu proyecto.
Funciones requeridas
A fin de obtener los permisos que necesitas para crear Dataproc Metastore y un clúster de Dataproc, solicita a tu administrador que te otorgue el los siguientes roles de IAM:
-
Sigue estos pasos para otorgar control total de los recursos de Dataproc Metastore:
-
Editor de Dataproc Metastore (
roles/metastore.editor
) en la cuenta de usuario o de servicio -
Administrador de Dataproc Metastore (
roles/metastore.admin
) en la cuenta de usuario o de servicio
-
Editor de Dataproc Metastore (
-
Para crear un clúster de Dataproc, sigue estos pasos:
(
roles/dataproc.worker
) en la cuenta de servicio de la VM de Dataproc -
Para otorgar permisos de lectura y escritura al directorio del almacén de Hive, haz lo siguiente:
(
roles/storage.objectAdmin
) en la cuenta de servicio de la VM de Dataproc
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para crear un metastore de Dataproc y un clúster de Dataproc. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear un clúster de Dataproc Metastore y Dataproc:
-
Para crear un Dataproc Metastore, haz lo siguiente:
metastore.services.create
en la cuenta de usuario o de servicio -
Para crear un clúster de Dataproc, usa
dataproc.clusters.create
en la cuenta de usuario o de servicio. -
Para acceder al directorio del almacén de Hive, haz lo siguiente:
orgpolicy.policy.get1
,resourcemanager.projects.get
,resourcemanager.projects.list
,storage.objects.*
,storage.multipartUploads.*
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Para obtener más información sobre los roles y permisos específicos de Dataproc Metastore, consulta Administra el acceso con IAM.Clústeres de Dataproc
Dataproc es un servicio administrado de Apache Spark y Apache Hadoop que permite aprovechar las herramientas de datos de código abierto para el procesamiento por lotes para procesamiento por lotes, consultas, transmisiones y aprendizaje automático.
Consideraciones
Antes de crear y adjuntar un clúster de Dataproc, Comprobar qué protocolo de extremo usa tu servicio de Dataproc Metastore. Este protocolo define cómo acceden los clientes de Hive Metastore a los metadatos almacenados en tu Dataproc Metastore. Esta elección también puede afectar las funciones que puedes integrar y usar con tu servicio.
Apache Thrift
Si usas el protocolo de extremo de Apache Thrift, considera los siguientes requisitos de red:
De forma predeterminada, debes crear tu clúster de Dataproc y el servicio de Dataproc Metastore en la misma red. Tu clúster de Dataproc también puede usar una subred de la red del servicio de Dataproc Metastore.
Si tu clúster de Dataproc pertenece a un proyecto diferente al la red, debes configurar los permisos compartidos de la red.
Si tu clúster de Dataproc pertenece a otro proyecto que tu servicio de Dataproc Metastore, debes configurar permisos adicionales antes de crear un clúster de Dataproc.
gRPC
Si usas el protocolo de extremo de gRPC, considera los siguientes requisitos de red:
Después de crear un Dataproc Metastore con el protocolo de extremo de gRPC, debes otorgar roles de IAM adicionales.
Si usas la autenticación de clúster personal de Dataproc, tu Dataproc Metastore debe usar el protocolo de extremo de gRPC.
Si tu clúster de Dataproc pertenece a otro proyecto que tu servicio de Dataproc Metastore, debes configurar permisos adicionales antes de crear un clúster de Dataproc.
Crea un clúster y adjunta un Dataproc Metastore
En las siguientes instrucciones, se muestra cómo crear Dataproc y te conectarás a él desde un servicio de Dataproc Metastore. Estos Para las instrucciones, se supone que ya creaste un servicio de Dataproc Metastore.
- Antes de crear tu clúster de Dataproc, asegúrate de que la imagen de Dataproc que elijas sea compatible con la versión de Hive Metastore que seleccionaste cuando creaste tu Dataproc Metastore. Para obtener más información, consulta la Lista de versiones con imágenes de Dataproc.
Para optimizar la conectividad de red, crea el clúster de Dataproc en la misma región que tu servicio de Dataproc Metastore.
Console
En la consola de Google Cloud, abre la página Crear un clúster de Dataproc:
En el campo Nombre del clúster, ingresa un nombre para tu clúster.
En los menús Región y Zona, selecciona la misma región en la que creaste tu servicio de Dataproc Metastore. Puedes elegir cualquier zona.
Haz clic en la pestaña Personalizar clúster.
En la sección Configuración de red, selecciona la misma red que en la que creaste tu servicio de Dataproc Metastore.
En la sección Dataproc Metastore, selecciona el servicio de Dataproc Metastore que deseas conectar. Si aún no creaste una, puedes seleccionar Crear Servicio nuevo
Opcional: Si tu servicio de Dataproc Metastore usa el protocolo de extremo de gRPC, haz lo siguiente:
- Haz clic en la pestaña Administrar seguridad.
- En la sección Project Acesss, selecciona Enables the cloud-platform scope for this cluster.
Configura las opciones de servicio restantes según sea necesario.
Para crear el clúster, haz clic en Crear.
Tu clúster nuevo aparecerá en la lista de clústeres. El estado del clúster aparece como Aprovisionando hasta que el clúster esté listo para usarse. Cuando está lista para usar, el estado cambiará a Running.
gcloud CLI
Para crear un clúster y adjuntar un Dataproc Metastore, ejecuta el siguiente comando:
seguir a gcloud dataproc clusters create
:
gcloud dataproc clusters create CLUSTER_NAME \ --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \ --region=LOCATION \ --scopes=SCOPES
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre del nuevo. clúster de Dataproc.PROJECT_ID
: Es el ID del proyecto de la proyecto en el que creaste tu servicio de Dataproc Metastore.LOCATION
: Es la misma región en la que creaste tu servicio de Dataproc Metastore.SERVICE
: Es el nombre de la servicio de Dataproc Metastore al que deseas adjuntar clúster.SCOPES
: (Opcional) Si tu servicio de Dataproc Metastore usa el protocolo de extremo de gRPC, usacloud-platform
.
REST
Sigue las instrucciones de la API para crear un clúster mediante el Explorador de API.
Conecta un clúster con las propiedades de clúster de Dataproc
También puedes conectar un clúster de Dataproc a un Dataproc Metastore con propiedades de Dataproc.
Estas propiedades incluyen ENDPOINT_URI
de Dataproc Metastore
WAREHOUSE_DIR
Usa estas instrucciones si tu servicio de Dataproc Metastore usa Private Service Connect o si deseas conectar un clúster de Dataproc a la versión auxiliar de tu servicio de Dataproc Metastore.
Existen dos maneras de conectar un clúster de Dataproc con el
Propiedades ENDPOINT_URI
y WAREHOUSE_DIR
:
Opción 1: Durante la creación de un clúster de Dataproc
Cuando crees un clúster de Dataproc, usa la marca de propiedades con la siguiente configuración de Hive.
gcloud dataproc clusters create CLUSTER_NAME \ --properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre de tu Dataproc nuevo. clúster.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.
Opción 2: Actualiza el archivo hive-site.xml
También puedes adjuntar un clúster de Dataproc si modificas directamente el archivo hive-site.xml
del clúster.
- Conéctate al clúster de
.*-m
mediante SSH. Abre el archivo
/etc/hive/conf/hive-site.xml
y modifica las siguientes líneas:<property> <name>hive.metastore.uris</name> <!-- Update this value. --> <value>ENDPOINT_URI</value> </property> <!-- Add this property entry. --> <property> <name>hive.metastore.warehouse.dir</name> <value>WAREHOUSE_DIR</value> </property>
Reemplaza lo siguiente:
ENDPOINT_URI
: 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
Clústeres autoadministrados
Un clúster autoadministrado puede ser una instancia de Apache Hive, una instancia de Apache Spark o un clúster de Presto.
Cómo conectar un clúster autoadministrado
Establece los siguientes valores en tu archivo de configuración de cliente:
hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR
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.
¿Qué sigue?
- Guía de inicio rápido para implementar Dataproc Metastore
- Descripción general de Dataproc Metastore
- Resumen de Dataproc