sql >> Base de Datos >  >> NoSQL >> HBase

Replicación de bases de datos operativas de Cloudera en pocas palabras

En esta publicación de blog anterior, brindamos una descripción general de alto nivel del complemento de replicación de Cloudera, explicando cómo trae la replicación multiplataforma con poca configuración. En esta publicación, cubriremos cómo se puede aplicar este complemento en clústeres de CDP y explicaremos cómo el complemento permite una autenticación sólida entre sistemas que no comparten la confianza de autenticación mutua.

Uso del complemento de replicación de base de datos operativa

El complemento de replicación de bases de datos operativas está disponible tanto como complemento independiente como instalado automáticamente a través de Cloudera Replication Manager. El complemento permite a los clientes configurar una replicación casi en tiempo real de los datos de HBase desde los clústeres de CDH/HDP/AWS EMR/Azure HDInsight a CDP Private Cloud Base y/o CDP Operational Database (COD) en la nube pública. También se implementa automáticamente cuando se usa Cloudera Replication Manager para configurar la replicación entre CDP Private Cloud Base y COD o entre instancias de COD en la nube pública. Cloudera Replication Manager también permite combinar la función de instantáneas de HBase junto con este complemento para administrar también la replicación de datos preexistentes en una sola configuración.

Para obtener instrucciones de instalación, consulte la política de replicación de HBase. tema sobre Administrador de replicación documentación oficial.

Para las versiones heredadas de CDH/HDP, el complemento se proporciona como un paquete para instalarse solo en el clúster heredado.

  • CDH 5.x
  • CDH 6.x
  • HDP 2.6
  • HDP 3.1
  • EMR 5.x y 6.x

El paquete tiene una versión bloqueada con los binarios específicos de la versión. Para cada una de las versiones mencionadas anteriormente, debe adquirirse por clúster. Póngase en contacto con su equipo de ventas de Cloudera si está interesado en obtener alguno de ellos.

Detalles de implementación

El impedimento resuelto por el Complemento de replicación de base de datos operativa es la autenticación mutua entre clústeres bajo diferentes configuraciones de seguridad. Recordando esta publicación de blog anterior, la replicación predeterminada de HBase requiere que ambos clústeres no estén configurados para la seguridad en absoluto, o que ambos estén configurados con seguridad. En el caso de este último, ambos clústeres deben estar en el mismo dominio kerberos o tener configurada la autenticación entre dominios en el sistema kerberos. Esto sería un desafío adicional en el contexto de CDP, donde cada entorno se ejecuta en un ámbito de seguridad autónomo. Para comprender esto con más detalle, debemos revisar cómo se implementa la seguridad de Apache HBase.

Uso de SASL para establecer confianza

En la replicación HBase, los RegionServers del clúster de origen se ponen en contacto con los RegionServers del clúster de destino a través de conexiones RPC. Cuando la seguridad está habilitada, la autenticación se realiza en la fase de establecimiento de la conexión RPC utilizando el marco de autenticación simple y capa de seguridad (SASL). HBase ya proporciona lo siguiente integrado Autenticación SASL mecanismos:kerberos, digest y sencillo. Cuando kerberos está habilitado, el clúster de destino esperará las credenciales del clúster de origen, que luego validará estas credenciales contra su propio KDC, utilizando el SASL kerberos mecanismo. Esto se basa en kerberos GSSAPI implementación para autenticar las credenciales proporcionadas con el KDC del clúster de destino, por lo tanto, la confianza para el principal del clúster de origen se debe haber implementado en el nivel del sistema kerberos, ya sea teniendo las credenciales de ambos clústeres en el mismo dominio o haciendo que el KDC del clúster de destino confíe en las credenciales de reino de clúster de origen (un enfoque comúnmente conocido como cross-realm autenticación).

Ampliación de la autenticación HBase SASL 

Afortunadamente, SASL está diseñado para permitir implementaciones de autenticación personalizadas. Eso significa que se podría diseñar una solución basada en SASL, si se pudiera conectar un mecanismo SASL adicional al conjunto de opciones integradas mencionadas anteriormente. Con ese objetivo, Cloudera propuso una refactorización de la capa RPC de HBase, que ha sido revisada y aceptada por la comunidad de Apache HBase en HBASE-23347 .

Mecanismo SASL enchufable

Con los cambios introducidos por HBASE-23347 , se pueden definir mecanismos de autenticación SASL adicionales a través de la configuración de HBase para que los utilice la capa RPC. Las conexiones RPC entrantes definen el tipo SASL específico en el encabezado, luego el servidor RPC selecciona la implementación específica para realizar la autenticación real:

Complemento de replicación de base de datos operativa implementa su mecanismo SASL personalizado, lo que permite que los clústeres en diferentes reinos de kerberos se comuniquen con esfuerzos de configuración sin problemas (sin la necesidad de kerberos cross-realm ). Extiende la replicación de HBase para que la fuente cree un token SASL de Complemento de replicación tipo personalizado, con credenciales de un usuario de máquina predefinido en el clúster COD de destino. Este tipo de usuario se puede crear fácilmente desde Cloudera Management Console interfaz de usuario, y luego se propaga a la autoridad de autenticación Kerberos subyacente del clúster de COD. Las instrucciones detalladas sobre cómo crear usuarios de máquinas de replicación se describen en la sección de pasos de requisitos previos de la documentación de Cloudera Replication Manager.

Cuando el servidor RPC en el destino lee el token e identifica que es un complemento de replicación tipo, las credenciales relacionadas se analizan desde el token y se utilizan para la autenticación.

Complemento de replicación de base de datos operativa utiliza la autenticación PAM para validar las credenciales de usuario de la máquina. Los clústeres COD siempre se aprovisionan con autenticación PAM contra el dominio de seguridad FreeIPA del entorno CDP.

Proteger las credenciales de usuario de la máquina

Un problema crítico en esta solución es que el clúster de origen debe obtener las credenciales del usuario de la máquina del clúster de destino. Por razones obvias, eso no debería estar expuesto de ninguna manera en la configuración de origen. Estas credenciales también se envían por cable en el token SASL dentro de la conexión RPC, por lo que deben cifrarse antes de la transmisión. El complemento de replicación proporciona su propia herramienta para generar un jceks archivo que almacena las credenciales de usuario de la máquina, encriptado. Una vez que se crea este archivo, debe copiarse en ambos clústeres y hacerlo legible por hbase solo usuario. El siguiente diagrama muestra una descripción general de la implementación del complemento de replicación de base de datos operativa componentes que se integran a las clases de replicación estándar de HBase en el contexto de RegionServers. Los cuadros rosas representan la replicación y el código de conexión RPC ya proporcionado por HBase, mientras que los cuadros amarillos muestran la capa de abstracción introducida dentro de HBASE-23347. Finalmente, las clases naranjas resaltan los artefactos relevantes que implementan el complemento de replicación de base de datos operativa lógica.

Conclusión

La replicación es una herramienta valiosa para implementar soluciones de migración DR y DC para HBase. Tiene algunas advertencias, como se muestra aquí, cuando se trata de configuraciones de seguridad de clústeres. Sin embargo, la capacidad de migrar datos de las implementaciones "locales" actuales a los clústeres de CDP en la nube es imprescindible. Complemento de replicación de base de datos operativa de Cloudera brinda flexibilidad al integrar clústeres seguros, junto con una mejor capacidad de mantenimiento para esta integración de seguridad, ya que se implementa completamente a nivel de HBase, en contraste con kerberos cross-realm, lo que requiere cambios en la definición del sistema kerberos, a menudo responsabilidad de un equipo completamente diferente, con sus propias políticas restrictivas.

Pruebe la plantilla de la base de datos operativa en ¡Plataforma de datos Cloudera (CDP)!