Disaster Recovery en Cloudera CDP

Última actualización: 22/09/2022

En este artículo aprenderás sobre la planificación de la continuidad del negocio, la recuperación de desastres (disaster recovery) y backup en la plataforma Cloudera Data Platform (CDP) y sus servicios de datos.

Cloudera Disaster Recovery

Conceptos de Disaster Recovery en Cloudera CDP

Antes de comenzar a ver las soluciones de disaster recovery en la plataforma Cloudera, es recomendable comprender los conceptos de recuperación de desastres que puedes encontrar en los siguientes artículos, como la definición de RTO y RPO y cuáles son las arquitecturas multi-cluster:

Backup

Los backups o copias de seguridad comprenden los procedimientos necesarios para recuperar los datos. Los tiempos asociados a esta recuperación de datos desde un backup suelen ser mayores a los tiempos que necesita la organización (RTO), por lo que no debe ser el único mecanismo de disaster recovery para los servicios de Cloudera CDP.

Por otro lado, las copias de seguridad son un mecanismo excelente para recuperar datos borrados o corruptos. Además, pueden usarse ante problemas de propagación a varios clusters de estos datos corruptos.

Ordenador Ardiendo

Alta Disponibilidad

También debemos entender las maneras de implementar alta disponibilidad o HA (High Availability) en nuestros sistemas. En general, la alta disponibilidad se puede conseguir de dos formas. Por un lado, eliminando los puntos únicos de fallo en los componentes, por ejemplo activando varios NameNodes para el servicio de HDFS. De esta forma se evita que el servicio falle en su totalidad dejando al clúster inoperativo.

Por otro lado, podemos implementar alta disponibilidad entre clusters con el uso de balanceadores de carga e ingestando los datos por duplicado en ambas instalaciones. Es recomendable usar ambos mecanismos de alta disponibilidad siempre que tenga sentido en el plan de continuidad de negocio valorando su coste.

Como veremos más adelante, muchos servicios de Cloudera CDP tienen ambas opciones y podremos configurarlos para que tengan HA intra-cluster e inter-cluster.

Stretch Cluster

Un Stretch Cluster es un mismo clúster lógico desplegado en diferentes localizaciones físicas separadas entre sí. De esta forma se separan físicamente los componentes configurados con alta disponibilidad. Este tipo de despliegues tienen varias desventajas frente al despliegue de clusters independientes.

La desventaja principal es la latencia. Algunos servicios de Cloudera, como HDFS o Zookeeper ven degradado su servicio significativamente cuando existe una alta latencia entre sus componentes. En el caso de HDFS y Yarn, el impacto en tiempos de ejecución puede ser muy alto si los trabajos ejecutan en nodos que no están próximos a los que contienen los datos sobre los que trabajan.

Tipos de Fallo en Cloudera CDP

Para analizar los fallos y el riesgo que puede sufrir nuestro sistema tenemos que contemplar su impacto en las operaciones. Muchos componentes de un clúster de Cloudera CDP han sido construidos para soportar determinados tipos de fallos. Cloudera comparte la siguiente tabla que refleja el tipo de fallo y el impacto que tiene:

Tipo de FalloImpactoFailover
Fallo en un disco
(Nodo Líder)
Bajo a ModeradoIntra-cluster failover entre servicios de alta disponibilidad
Fallo en un disco
(Nodo Worker)
BajoFunciones automatizadas de recuperación de clusters
Fallo en varios discos
(Nodo Líder)
Bajo a ModeradoIntra-cluster failover entre servicios de alta disponibilidad
Fallo en varios discos
(Nodo Worker)
BajoFunciones automatizadas de recuperación de clusters
Fallo en un nodo
(Nodo Líder)
Bajo a ModeradoIntra-cluster failover entre servicios de alta disponibilidad
Fallo en un nodo
(Nodo Worker)
BajoFunciones automatizadas de recuperación de clusters
Fallo en varios nodos
(Nodo Líder)
Moderado a AltoDisaster recovery failover si no es posible la recuperación en el período RTO
Fallo en varios nodos
(Nodo Worker)
Bajo a ModeradoFunciones automatizadas de recuperación de clusters
Disaster recovery failover si no es posible la recuperación en el período RTO
Comunicaciones de red entre entornosModerado a AltoDisaster recovery failover si no es posible la recuperación en el período RTO
Fallo en un entornoAltoDisaster recovery failover al entorno secundario
Fallo en varios entornosMuy AltoRecuperación de un entorno y Disaster recovery failover
Disaster Recovery Cloudera CDP Reference Architecture

Elementos de Disaster Recovery en Cloudera CDP

Un entorno CDP consta de varios servicios. En algunos casos, podemos utilizar la replicación de datos del servicio (como HBase), y en otros casos deberemos replicar los datos con una herramienta externa como Replication Manager para HDFS. Los elementos que debemos analizar para planificar los escenarios de disaster recovery son los siguientes:

Datos

Los datos se almacenan en varias ubicaciones. Por un lado, tenemos servicios de almacenamiento de datos como HDFS y Ozone. Por otro lado, existen servicios que usan HDFS como capa de almacenamiento de archivos (Solr) y servicios que almacenan los datos localmente (Kafka, Kudu).

HDFS debe configurarse con HA en sus tres componentes: NameNode, DataNode y JournalNode. Estos servicios ejecutarán en varios nodos líder. Los DataNodes proporcionarán la replicación de datos en varios nodos. Para replicar datos entre clusters, HDFS usa la herramienta distcp y para replicar las políticas de los directorios de forma asíncrona usa Replication Manager.

Ozone también debe configurarse con HA en sus tres componentes: Ozone Manager, Storage Container Manager, y DataNode. Para este servicio, la replicación de datos también se realiza con la herramienta distcp, que se puede planificar para su ejecución periódica.

HBase también tiene un mecanismo de HA con nodos líder de backup. Además tiene un mecanismo de replicación entre clusters que permite su funcionamiento en activo-activo.

Kudu utiliza los discos locales para almacenar los datos y no tiene replicación integrada entre clusters. Debemos configurar por tanto la doble ingesta de datos, una para cada instancia en cada clúster.

Solr sigue un mecanismo similar. Debemos crear backups y snapshots de las colecciones, y en caso de fallo o necesidad restaurar estas copias. Para escenarios de disaster recovery, se recomienda configurar la doble ingesta de datos.

Hive e Impala tienen dos mecanismos para replicar datos que residen en HDFS. Por un lado, las tablas externas podemos repicarlas con Replication Manager. Las tablas gestionadas deberemos replicarlas con el mecanismo integrado de Hive. Replication Manager copia el esquema y los datos, pero no los metadatos asociados ni políticas de Ranger y Atlas.

Metadatos

Los metadatos contienen los esquemas, las estructuras y el contexto de los datos. Se encuentran en servicios como Hive Metastore y Atlas. Ambos servicios se pueden configurar con HA añadiendo nodos adicionales. Apache Atlas depende de otros servicios como Solr, HBase y Kafka, que deben estar configurados de igual manera con HA.

Los datos de negocio almacenados en Atlas relacionados con linaje y tags no se sincroniza de manera automática entre los entornos de disaster recovery de Cloudera CDP. Para hacer esto, se deben implementar manualmente trabajos de exportación e importación usando la API Rest de Apache Atlas.

Cargas de Trabajo

Los trabajos son el conjunto de los datos, metadatos, políticas y aplicaciones que ejecutan en el clúster. Pueden ser de tipo streaming o de tipo batch. Estas aplicaciones deben contemplar en su diseño e implementación los escenarios de disaster recovery, y evaluar el impacto que tendrían en su ejecución los mecanismos de HA.

Siguientes pasos y Cursos de Cloudera

Aprende Cloudera CDP a fondo y mantente al día con el siguiente curso recomendado. Además, podrás preparar sus certificaciones, una forma excelente de aportar valor y destacar:

Curso big data cloudera cousera

Curso de Especialización en Big Data de Cloudera

Esta especialización de Coursera ofrecida directamente por Cloudera es muy completa y se compone de cuatro módulos de aprendizaje para dominar la plataforma de análisis de datos y si estás interesado, también preparar la certificación:

  1. Fundamentos del Análisis Big Data con SQL
  2. Analizando Big Data con SQL
  3. Gestionando Clusters Big Data y Almacenamiento Cloud

Artículos Relacionados: Seguridad en Hadoop y Cloudera Data Platform (CDP)

Deja una respuesta