Información general
Cuando creas un clúster de Dataproc, la aplicación Apache Hive y sus componentes, incluido Hive Metastore, se instalan en el clúster y se establece una contraseña predeterminada en el archivo hive-site.xml
, que se encuentra en el nodo maestro del clúster.
Se recomienda especificar tu propia contraseña de metastore de Hive para conseguir los siguientes objetivos:
Como medida de seguridad recomendada para asegurarte de que controlas el acceso al almacén de metadatos de Hive local proporcionando tu propia contraseña
Para especificar una contraseña conocida que controle el acceso a metastores de Hive externos que se usen con bases de datos externas compartidas entre diferentes clústeres
Definir la contraseña del almacén de metadatos de Hive
Ejecuta el siguiente comando Google Cloud CLI Dataproc clusters create para crear un clúster de Dataproc y especificar una contraseña de metastore de Hive.
gcloud dataproc clusters create cluster-name --properties="hive:javax.jdo.option.ConnectionPassword=HIVE_METASTORE_PASSWORD"
Notas:
- Consulta Crear una clave para crear una clave en Cloud Key Management Service.
- La contraseña del metastore de Hive solo se almacena en los nodos maestros del clúster, no en los nodos de trabajo.
Para obtener más información sobre cómo proteger los clústeres de Dataproc, consulta las prácticas recomendadas de seguridad de Dataproc.
Situaciones no admitidas
Dataproc no admite los siguientes casos de almacén de metadatos de Hive, independientemente de si usas la contraseña predeterminada o una proporcionada por el usuario:
Utilizas un cliente de metastore insertado en el controlador de Spark que se ejecuta en el modo de clúster, de forma que los nodos de trabajador requieren contraseñas de Hive. Esta situación puede provocar problemas de conectividad con la base de datos del metastore, ya que la conexión no se realiza a través del proceso
HiveMetaStore
que se ejecuta en el nodo maestro de Dataproc.Desactiva Hive Metastore y
hive-server2
para usar tu propia base de datos MySQL. En este caso, la propiedadspark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://CLUSTER_NAME-m/metastore
no tiene ningún efecto.