Documento técnico de IT@Intel Marzo de 2015 IT@Intel Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* Resumen ejecutivo A partir de nuestra experiencia original con el software Apache Hadoop , TI de Intel identificó nuevas oportunidades para reducir los costos de TI y aumentar nuestras capacidades de BI Nghia Ngo Ingeniero de Capacidades de Big Data, Intel IT Sonja Sandeen Gerente de Producto de Big Data, Intel IT Darin Watson Ingeniero de Plataformas, Intel IT TI de Intel considera valioso el procesamiento de grandes cantidades de datos (Big Data) basado en códigos abiertos utilizando el software Apache Hadroop*. Hasta hace poco, utilizábamos el software Intel® Distribution for Apache Hadoop (IDH) para soportar nuestros tres casos de uso de Big Data en inteligencia de negocios (BI, por su sigla en inglés), y reportaba resultados que ascendían a millones de dólares para Intel. Sin embargo, nos dimos cuenta de que nos podríamos beneficiar con la migración hacia el software de Distribución Cloudera para Apache Hadoop (CDH). A partir de nuestra experiencia original con el software Apache Hadoop, TI de Intel identificó nuevas oportunidades para reducir los costos de TI y para aumentar nuestras capacidades en inteligencia de negocios (BI). Gracias a la formación de una alianza estratégica con Cloudera, TI de Intel adoptó CDH y migró rápidamente de IDH. Utilizamos las herramientas CDH para empresas para mejorar el desempeño, la gestión, y la facilidad de uso para los componentes clave de Hadoop. Este documento explica los beneficios de la migración para los grupos empresariales de TI e incluye las seis mejores prácticas desarrolladas por el equipo de migración de Intel IT: • Hacer una evaluación comparativa en un ambiente de prueba • Definir la estrategia de implementación • Dividir el ambiente del hardware Chandhu Yalla Gerente de Ingeniería de Big Data, Intel IT • Actualizar la versión de Hadoop Seshu Edala Ingeniero de Capacidades de Big Data, Intel IT • Rebalancear los datos Sinforoso Tolentino Ingeniero de Plataformas, Intel IT • Crear un camino de pre-producción a producción Se pudo lograr una migración exitosa a través de una planificación cuidadosa, pruebas exhaustivas, comunicación proactiva y también mediante una gestión eficiente del alcance, de los tiempos y de las habilidades. Documento técnico de IT@Intel : Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* Contenidos 1 Resumen ejecutivo 2Antecedentes 2 Mejores prácticas para la migración de IDH a CDH Mejor Práctica 1: Identificar las diferencias utilizando una evaluación comparativa en un entorno de prueba Mejor Práctica 2: Definir nuestra estrategia para la implementación de cloudera Mejor Práctica 3: Dividir el ambiente de hardware Mejor Práctica 4: Actualizar la versión de hadoop Mejor Práctica 5: Crear un camino de preproducción a producción Mejor Práctica 6: Rebalancear los datos 10Conclusión Acrónimos ACL Lista de control de acceso BI Inteligencia de Negocios CDH Distribución Cloudera para Apache Hadoop HDFS Hadoop Distributed File System IDH Intel Distribution for Apache Hadoop SLA Acuerdo de nivel de servicio 2 de 10 Antecedentes TI de Intel considera valioso el procesamiento de grandes cantidades de datos (Big Data) basado en códigos abiertos con la utilización de Apache Hadoop*. Utilizamos la distribución Hadoop propia de Intel, el software Intel® Distibution for Apache Hadoop. Luego, determinamos que pasarse a la Distribución Cloudera para Apache Hadoop (CDH) ofrece ventajas significativas, que se muestran en la Figura 1. CDH contiene la totalidad de la distribución a partir del proyecto de código abierto de Apache Hadoop y también cuenta con otros componentes clave como la infraestructura de almacén de datos Apache Hive* y el lenguaje de flujo de datos Apache Pig*. CDH también ofrece herramientas de gestión y de desarrollo de software empresariales para ayudar a los desarrolladores y a los administradores de sistemas a mejorar el desempeño, gestión y facilidad de uso de los componentes únicos de Hadoop como Cloudera Manager, Cloudera Impala, Navigator y Sentry. La migración hacia CDH también nos permitió actualizar Hadoop de 1.0 a 2.0. Mejores prácticas para la migración de IDH a CDH Una migración exitosa necesita una cuidadosa planificación para hacer frente a tres desafíos clave: • Hacer frente a las variaciones de Hadoop. La instalación sin modificaciones de Hadoop utiliza los valores de configuración preestablecidos. Estos valores difieren dependiendo de las variaciones de Hadoop. Un análisis comparativo puede resultar de ayuda antes de la migración (ver Mejor práctica 1: Identificar las diferencias utilizando una evaluación comparativa en un entorno de prueba). • Entender el alcance de los cambios. Debemos minimizar los impactos negativos causados por los cambios de infraestructura a nuestros desarrolladores de aplicaciones y a los clientes que utilizan dichas aplicaciones. Para invertir y llevar a cabo dicha conversión, los equipos de las empresas o de los clientes esperan tener la misma experiencia, o una aún mejor. Ventajas de la Distribución Cloudera para Apache Hadoop Características Soporte Herramientas Código abierto Características deseables, conjuntos de características maduras y actualizaciones más rápidas Soporte basado en el proveedor y a nivel empresarial Herramientas de gestión de nivel empresarial y de desarrollo de software Distribución completa a partir del proyecto de código abierto de Apache Hadoop. Figura 1. Distribución Cloudera para Apache Hadoop*(CDH) ofrece ventajas significativas. Compartir: Documento técnico de IT@Intel : Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* • Completar la migración in situ puntualmente. La migración hizo que tuviésemos que ejecutar los ambientes de IDH y de CDH en paralelo. Nuestro objetivo fue operar ambos ambientes en tándem durante un período de tiempo lo más corto posible para balancear todas las partes funcionales entre los proyectos de los clientes y los cambios en la plataforma. Para hacerlo, el equipo de migraciones tuvo que evitar que los racks o los servidores permaneciesen ociosos durante la transferencia de datos y las pruebas. Para abordar estos tres desafíos, el equipo de migración de TI de Intel siguió seis mejores prácticas. Mejor práctica 1: Identificar las diferencias utilizando una evaluación comparativa en un entorno de prueba Al utilizar un ambiente de prueba o restringido para efectuar una evaluación completa de IDH y de CDH fue posible identificar las diferencias entre los dos ambientes y, al mismo tiempo, tener una interrupción mínima en las operaciones. El equipo de migración pudo estudiar la arquitectura de la solución propuesta para los diversos casos de estudio y así determinar las características críticas. Comparamos las características y las capacidades, como los marcos de inteligencia de negocios (BI), contenedores de E/S, códecs de compresión, seguridad y listas de control de acceso (ACL), límites de asignación de contenedores y demás, aislando una configuración de la otra. A partir de los resultados, el equipo confeccionó una tabla comparativa en la que identificó las brechas y describió los diferenciadores clave, como se muestra en la Tabla 1. Tabla 1. Comparación entre las características de la Distribución Cloudera para Apache Hadoop* (CDH) e Intel® Distribution for Apache Hadoop (IDH) Nota: El estudio comparativo fue realizado entre marzo y abril de 2014. Mejor en CDH Igual entre CDH e IDH Inexistente en CDH Conectores Ingestión de datos Almacenamiento de datos Integración con Lustre* Integración con otros controladores y software Procesamiento por lotes Igual Analytics SQL Mejor NoSQL en línea Búsqueda Infraestructura Mejor Inexistente Mejor Mejor Aprendizaje automático Inexistente Procesamiento de flujo Mejor Aplicaciones de terceros Igual Administración de datos Mejor Administración de trabajo Igual Administración del sistema Igual Alta disponibilidad Igual Sistema operativo Igual Integración Enterprise Access Management/ Igual Microsoft Active Directory* Seguridad Compartir: Inexistente 3 de 10 6 mejores prácticas para la migración 1: Identificar las diferencias utilizando una evaluación comparativa en un ambiente de prueba 2: Definir nuestra estrategia para la implementación de Cloudera 3: Dividir el ambiente de hardware 4: Actualizar la versión de Hadoop 5: Crear un camino de Preproducción a producción 6: Rebalancear los datos Documento técnico de IT@Intel : Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* 4 de 10 Esta tabla nos ayudó a establecer los objetivos para una migración ordenada. Luego consultamos con Cloudera para desarrollar una hoja de ruta conjunta, solicitándoles que indicaran sus compromisos para implementar las capacidades faltantes o diferentes. En este momento el equipo evaluó el costo de la refactorización: es decir la cantidad de cambios, pruebas y el tiempo que insumiría modificar la arquitectura para obtener las ventajas de las recomendaciones de diseño de la distribución de Cloudera. Optamos por hacer algunos cambios de diseño y de arquitectura, y seleccionamos solamente los compuestos obligatorios de la distribución en vez de adoptar todos los componentes disponibles de Hadoop. Incluimos las diferencias entre el ambiente de prueba y el camino hacia la producción en lo que respecta a la red y al hardware como parte de los cálculos. Hicimos cambios en el diseño y en los códigos para adaptarlos a cualquier diferencia de características. Tomemos como ejemplo el soporte para el códec de compresión sin pérdida. Utilizar el códec de CDH que es menos eficiente podría impactar tanto en el código más adelante en el proceso como en la capacidad del disco, de la memoria o de la CPU. Necesitábamos suficiente tiempo para poner a prueba un nuevo código que utilice el códec de CDH y evaluar los efectos del uso adicional de los recursos; de no ser así hubiésemos tenido una brecha en el cronograma de trabajo que Cloudera hubiese tenido que resolver. Crear un ambiente de prueba Dentro del ambiente de prueba el equipo se aseguró de que todo lo planeado para la migración funcionase como habíamos anticipado. La implementación del IDH existente sirvió como base de los benchmarks funcionales, de desempeño y de pruebas de datos. Los datos de prueba incluyeron los métodos de transferencia o de copia, y también la velocidad de transferencia. Necesitábamos esta información para determinar los plazos de implementación y así trazar un camino seguro antes de entrar en producción. Incluimos las diferencias entre el ambiente de prueba y el camino hacia la producción en lo que respecta a la red y al hardware como parte de los cálculos. La implementación de CDH tenía que igualar los benchmarks paramétricos previos, o sobrepasarlos, y también cumplir con los criterios no paramétricos. Utilizar niveles de abstracción para simplificar la migración La utilización de un nivel de abstracción con URL personalizados, soft links y proxies de alta disponibilidad simplificó la migración. Por ejemplo, debido a que las bibliotecas de IDH no se encontraban en el mismo lugar que las bibliotecas de CDH, utilizamos soft links en vez de hacer una codificación dura de las ubicaciones de las bibliotecas. Utilizar las capacidades de código abierto de Hadoop y minimizar las personalizaciones Nos dimos cuenta de que la mayor parte del ecosistema central, como Hive y Pig, entre otros, se comportaba de la misma manera en la implementación de CDH que en la de IDH. La migración de código tuvo un impacto mínimo o nulo en los clientes y en sus aplicaciones. A partir de nuestra propia experiencia y según lo que vimos cuando nuestros clientes desarrollaron sus aplicaciones con Hive y con Pig, descubrimos que estos componentes no necesitaban una modificación del código para tener un desempeño sin dificultades en el entorno de CDH. Solamente un proyecto, en el que se utilizaba Apache Mahout*, necesitó un mínimo cambio de código debido a que la API de MapReduce* más antigua cayó en desuso frente a la API más reciente de MapReduce. La actualización del código para utilizar la API más reciente hace que cualquier conversión futura resulte más fácil. Como resultado de las pruebas y del mapeo dentro del ambiente de prueba, nuestro equipo pudo determinar que los cronogramas de trabajo eran sólidos y sin brechas. Como mínimo, se documentó claramente cuándo se corregirían las brechas. Compartir: Documento técnico de IT@Intel : Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* Mejor práctica 2: Definir nuestra estrategia para la implementación de cloudera Una vez concluida la fase de prueba, el equipo decidió qué opciones y componentes clave incluir en la migración inicial y registró los beneficios y los riesgos de dicha elección. Las opciones y componentes críticos incluyeron seguridad, interfaces de usuario, APIs, lenguajes de desarrollo y compatibilidad con la versión. Buscamos mantener todo el ambiente simple durante la migración, preservando la estabilidad antes de agregar servicios o características. Tabla 2. Consideraciones para la migración de Intel® Distribution for Apache Hadoop* (IDH) a la Distribución Cloudera para Apache Hadoop (CDH) Alcance Migrar todas las plataformas y proyectos internos de Big Data de IDH a CDH. Estrategia •Dividir el hardware a la mitad, instalar CDH, y ejecutar los ambientes en paralelo durante la migración. •Alinear todos los clientes para que completen la fase de prueba en CDH y transición. •Desinstalar IDH y agregar el hardware al ambiente de CDH para volver a la capacidad plena. •Focalizarse solamente en los componentes Hadoop* centrales necesarios para los clientes actuales. Se adoptarán nuevas características y capacidades de CDH después de la transferencia y una vez que los ambientes retomen la capacidad plena. Nuestras selecciones de componentes y de opciones validaron nuestros hallazgos durante el entorno de prueba y fueron incorporadas a nuestra estrategia de migración. En la Tabla 2 incluimos dicha estrategia y también los beneficios, los riesgos potenciales y el estado actual. La información presentada en la tabla guió la estrategia para migrar el servicio Hive metastore y los archivos de metadatos. Tuvimos que determinar nuestro marco de tiempo para la migración teniendo en cuenta el impacto sobre nuestros clientes, los cambios en el código, las pruebas de regresión y los tiempos de ciclos de ejecución. Un componente que es fácil de pasar por alto durante la migración es el servicio Hive metastore. Hadoop brinda abstracción de cómputo con API de MapReduce y abstracción de almacenamiento con API de Hadoop Distributed File System (HDFS). Resulta fácil centrarse en la transición de estos componentes centrales y dejar de lado los componentes auxiliares aunque importantes como el servicio Hive metastore, que necesita bases de datos externas como MySQL o Postgres y es crítico para migrar las tablas de almacenes de datos de una plataforma a otra. La distribución central de Hadoop no brinda las herramientas para migrar los tipos de datos del servicio Hive metastore como seguridad, compresión, listas de control de acceso e información sobre tablas extendidas. Esa parte de la migración precisa herramientas (o scripts) personalizados/adaptados que puedan capturar, replicar y migrar hacia la nueva plataforma. Beneficios •Adoptar el soporte del producto y del proveedor de CDH ahora y alinearse con las iniciativas estratégicas. •Un único esfuerzo de pruebas de regresión de la migración de CDH y Hadoop 2.x/YARN. • Menos recursos ahora para poner a prueba el alcance actual de los casos de uso. •Evitar la conversión a gran escala y las pruebas de regresión significativas de todo el proyecto más adelante. • Aprovechar las ventajas de CDH cuanto antes (Hue, HCatalog, Impala, Navigator y Sentry). Riesgos e impactos • Clientes: riesgo e impacto mínimos para las pruebas y para la migración de dos proyectos de producción basados en las pruebas iniciales y tempranas. Contaremos con más información después de recibir los resultados de las pruebas de aplicaciones Customer Insight y de la Sales and Marketing Account Recommendation Tool. • Plataforma: riesgo potencial si los clientes demoran la migración a CDH de modo que los ambientes permanecen divididos, lo que implica necesidad de soporte, mitad de la capacidad y un comienzo demorado de las nuevas evaluaciones de las características de Cloudera. Estado actual •Migración de IDH a CDH completada en cinco semanas. •En la actualidad se ejecuta CDH 5.3 en producción. •Se completaron dos actualizaciones de versión desde la integración inicial con cero impacto a los clientes. Durante la migración, cuando el ambiente se encontraba dividido en dos partes, nos comunicamos con los clientes por la posibilidad de que la plataforma sea más lenta. Reconfiguramos los acuerdos de nivel de servicio (ANS) para el procesamiento de ciclos y diferimos todas las actividades de puntos de referencia (benchmarking) de desempeño. Compartir: 5 de 10 Documento técnico de IT@Intel : Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* 6 de 10 Mejor Práctica 3: Dividir el ambiente de hardware Características de los ambientes de hardware dividido • Dos switches de 10GbE de 48 puertos • 352 núcleos que utilizan procesadores Intel® Xeon® • Intel® Distribution of Hadoop 2.51 basada en Hadoop Apache 1.x • 22 nodos de datos equivalentes a 243 TB (replicación de 3 vías) • Alta disponibilidad con verdadera conciencia de racks •Integración de la base de datos con Teradata, Netezza, y MS SQL •Integración con Enterprise ETL, Active Directory/EAM e ITSM El equipo de migración de TI de Intel dividió el ambiente de hardware de Hadoop existente en dos clústers (uno para IDH y el otro para CDH) y completó la construcción de dos sistemas paralelos utilizando los componentes disponibles, según se observa en la Figura 2. No pudimos hacer una migración in situ por tres razones. Primero: no queríamos perder HDFS debido a que contenía grandes volúmenes de datos distribuidos en los servidores. Segundo: queríamos pasar de Hadoop 1.0 a 2.0. Tercero: IDH y CDH corrían Hadoop de maneras diferentes. Cada uno administró los clústers con herramientas diferentes de aprovisionamiento y de gestión. Por lo tanto, no pudimos migrar fácilmente de IDH a CDH in situ sin el software y las configuraciones de reaprovisionamiento. Tuvimos que crear un clúster de CDH sobre el hardware existente y migrar los datos de IDH a CDH. Aún si hubiese sido posible una actualización in situ, hubiéramos necesitado hacer un back up de terabytes de datos en otro clúster y luego transferirlo nuevamente al clúster de CDH. Debido a que íbamos a transferir datos de todas maneras, creamos el nuevo clúster de CDH en la misma red que el clúster de IDH y planificamos transferir los datos directamente desde el viejo clúster de Hadoop hacia el nuevo clúster. Los sistemas en paralelo brindaron la solución más limpia y segura, considerando que estábamos trabajando con hardware disponible limitado y que queríamos migrar los datos solamente una vez. La división funcionó bien por las siguientes razones: • Si bien teníamos hardware limitado contábamos con suficiente capacidad de cómputo y de almacenamiento adicional para soportar la división del hardware, lo que permitió desafectar nodos de IDH y construir un clúster de CDH de tamaño suficiente como para soportar las migraciones de datos. Rack 1 Rack 2 HBase Master, Oozie, ZooKeeper Gateway Nodo de datos 1 NameNode, Hive Metastore NameNode secundario, Job History Server, Resource Manager, ZooKeeper Nodo de datos 2 ZooKeeper Cloudera Manager Nodo de datos 3 JobTracker Backup JobTracker Intel® Manager, Yum Repository NameNode secundario, Hive Metastore NameNode primario, Hive Metastore HBase Master, ZooKeeper Gateway Almacenamiento compartido de Gateway Nodo de datos 1 Nodo de datos 1 Nodo de datos 2 Nodo de datos 2 Nodo de datos 3 Nodo de datos 3 Nodo de datos 4 Nodo de datos 4 Nodo de datos 1, NodeManager Nodo de datos 1, NodeManager Nodo de datos 2, NodeManager Nodo de datos 2, NodeManager Rack 3 Nodo de datos 4 Nodo de datos 1, NodeManager Nodo de datos 2, NodeManager Nodo de datos 3, NodeManager Nodo de datos 4, NodeManager Nodo de datos 5, NodeManager Nodo de datos 6, NodeManager Intel Distribution for Apache Hadoop Distribución Cloudera para Apache Hadoop Figura 2. Se dividió el ambiente de hardware en dos clústers, uno para Intel® Distribution for Apache Hadoop* y el otro para la Distribución Cloudera para Apache Hadoop. Compartir: Documento técnico de IT@Intel : Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* 7 de 10 • Al segregar el hardware nos mantuvimos operativos durante la transferencia de datos. Nuestros recursos de IDH fueron suficientes para la carga de trabajo del cliente; sin embargo, tuvimos que coordinar con proyectos para asegurarnos un impacto mínimo sobre los acuerdos de nivel de servicio existentes y hacer un lote con las expectativas de desempeño a lo largo del proceso de migración. • Con clústers comparables construimos en uno y portamos hacia el otro. Minimizar el impacto en los usuarios Construimos el nuevo clúster CDH en la misma red que el clúster IDH y planificamos transferir los datos directamente del clúster Hadoop antiguo al nuevo. Al colocar IDH y CDH en la misma red local se facilitó la rápida transferencia de datos de IDH a CDH. Al asignar la mitad de los servidores disponibles a cada ambiente pudimos completar la migración con un impacto negativo mínimo en las aplicaciones de nuestros clientes. La naturaleza distribuida de Hadoop contribuyó con este enfoque. El equipo de TI de Intel descargó los datos en un conjunto de nodos de datos y luego desactivó el hardware que queríamos preparar para usar dentro del nuevo entorno de CDH. Desinstalamos unos pocos servidores por vez, lo que le permitió al clúster de IDH redistribuir los datos a los nodos restantes. Al manejar el proceso de desinstalación del clúster de IDH pudimos mitigar la pérdida de datos y monitorear el impacto en la carga de trabajo del clúster. Agregamos los servidores que habían quedado liberados del clúster de IDH desafectado al clúster de CDH. Al construir el clúster de CDH en la misma red que IDH y en los mismos racks pudimos transferir los datos de IDH a CDH con rapidez. Utilizamos el failover implícito y la tolerancia de fallas del marco de Hadoop para efectuar una desactivación y reactivación por fases de los nodos de clústers entre los sistemas paralelos. Al utilizar una infraestructura de red común disminuyeron los saltos entre los nodos de IDH y de CDH y se aprovecharon las conexiones de 10G en todos los hosts de transferencia de datos, lo que redujo el tiempo de transferencia de datos entre clústers y minimizó el impacto en nuestra carga de trabajo existente en IDH. Mejor práctica 4: Actualizar la versión de hadoop Características de Hadoop 2.0 El cambio de Hadoop 1.0 a Hadoop 2.0 resultó simple y directo. El equipo obtuvo las características deseables que no estaban incluidas en IDH, junto con las ventajas de una plataforma de código abierto. Estas características incluyen: • Alta disponibilidad de HDFS NameNode • Alta disponibilidad para el NameNode de HDFS, que elimina el único punto de falla previo en HDFS y las soluciones específicas de la distribución y de alta disponibilidad de Hadoop. • Instantáneas del sistema de archivos de HDFS • NameNodes federados • Mejora en el desempeño • YARN • Soporte para las instantáneas (snapshots) de sistema de archivo en HDFS, que le brinda a Hadoop procesos de backup nativo y de recuperación de desastres. • Soporte para los NameNodes federados, que permite una escalabilidad horizontal del espacio de nombres del sistema de archivos. • Soporte para el acceso de NFS a HDFS, que permite que HDFS sea montado como un sistema de archivos estándar. • Soporte para encripción de red Native, que asegura los datos mientras están en tránsito. • Mejora en el desempeño para HDFS. Compartir: Documento técnico de IT@Intel : Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* 8 de 10 Además de estas características el sistema de gestión de recursos YARN puede manejar una gran gama de cargas de trabajo al usar un clúster de Hadoop para dar servicio a los marcos emergentes que no sean MapReduce, como Spark, Impala y HBase. Esta nueva flexibilidad expande los casos de uso para Hadoop, al tiempo que mejora la eficiencia de ciertos tipos de procesamiento sobre datos ya almacenados en ese lugar. Mejor práctica 5: Crear un camino de preproducción a producción Después de dividir el ambiente físico en un clúster de IDH y otro de CDH, creamos un ambiente de preproducción que nos permitiría validar nuestros procesos. El ambiente de preproducción fue alimentado por 128 núcleos (que utilizaban procesadores Intel® Xeon®) e incluía volúmenes de datos reales, según se muestra en la Figura 3. Estos volúmenes de datos consistieron en 8 nodos de datos que eran equivalentes a 160 TB (con una replicación de dos vías). La creación de un ambiente de preproducción nos permitió migrar incrementalmente los datos al ambiente de CDH y comenzar con el proceso de migración de datos de manera temprana, lo que nos dio suficiente tiempo para completarlo y para tener una rápida transición al nuevo entorno de CDH. En este ambiente de preproducción seguimos los siguientes pasos: • Evaluamos el tiempo necesario para pasar de IDH a CDH. • Alineamos los derechos, los servidores de control y los usuarios entre los dos sistemas sin automatización. • Para saber cuáles eran los mejores métodos para migrar los datos a la nueva plataforma consultamos con Cloudera una serie de temas: estándares de compresión de datos, estándares de seguridad de datos, estándares de transferencia de datos, backup y procesos de restauración de metadatos, factores de replicación, lineamientos de accesibilidad del usuario (vía Hue), asignación de memoria Impala y lineamientos para el manejo de recursos. • Identificamos niveles de datos, códecs de compresión y factores de replicación que optimizaban la transferencia de datos en línea y fuera de línea. Luego comunicamos todos los cambios necesarios a los desarrolladores de funciones de ALMACENAMIENTO y de CARGA de Intel para que pudiésemos implementar adecuadamente los cambios en el espacio de nombres de HDFS y códecs. • Utilizamos scripts personalizados para el servicio Hive mestastore, y para la migración de la lista de control de acceso. Tuvimos que capturar los esquemas de gestión, permisos y partición. Creamos manualmente los scripts fuera de línea antes de migrar los datos. Una semana después implementamos el sistema en el entorno de preproducción. Repetimos estas mismas tareas en el entorno de producción. Este proceso ayudó a minimizar el riesgo y el impacto al desarrollo y a los esfuerzos de corrección de errores que pudieran dar como resultado diferentes distribuciones en los entornos de preproducción y de producción. Compartir: Rack 1 Preproducción Gateway Gateway (Sqoop1, HiveServer2) NameNode, Hive Metastore, Zookeeper JobTracker Backup JobTracker HBase Master, Zookeeper HBase Master, Zookeeper, Servidor Oozie NameNode secundario Job History Server, ZooKeeper Resource Manager, ZooKeeper Cloudera Manager Intel® Manager NameNode primario Hive Metastore NameNode Nodo de datos, NodeManager Nodo de datos, NodeManager Nodo de datos, NodeManager Nodo de datos, NodeManager Nodo de datos, NodeManager Nodo de datos, Servidor de región Nodo de datos, Servidor de región Nodo de datos, Servidor de región Nodo de datos, Servidor de región Nodo de datos, Servidor de región Intel Distribution for Apache Hadoop Cloudera Distribution for Apache Hadoop S Figura 3. El ambiente de preproducción nos permitió validar nuestros procesos. Este ambiente fue alimentado por 128 núcleos (que utilizaban procesadores Intel® Xeon®) y ocho nodos de datos que contenían volúmenes de datos reales. Documento técnico de IT@Intel : Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* 9 de 10 Mejor práctica 6: Rebalancear los datos En el ambiente de producción, debido a que teníamos dos modelos de configuraciones datos-nodo-almacenamiento-capacidad, parte del proceso de migración requirió un rebalanceo continuo de los datos de HDFS dentro del clúster. HDFS cuenta con una utilidad que balancea la ubicación de los bloques de datos en los nodos de datos de manera uniforme para obtener un desempeño óptimo. Camino de madurez de Hadoop Hadoop 1.0 2005-2012 MapReduce HDFS Hadoop 2.0 2013-2014 El procesamiento de datos se ejecuta nativamente MapReduce Procesamiento de datos YARN HDFS Hadoop de próxima generación Las aplicaciones se ejecutan nativamente Map Open Reduce Tez HBase Storm Giraph Spark MPI YARN HDFS Utilizar nodos más antiguos de baja capacidad junto con nodos más nuevos de alta capacidad creó una distribución poco uniforme. Los nodos de baja capacidad se llenaban mientras que se cargaban los datos en el clúster de CDH, lo que desencadenaba un rebalanceo constante para redistribuir los datos de los nodos de baja capacidad hacia los de alta capacidad. Aprovechamos la funcionalidad de rebalanceo en CDH que se puede ejecutar desde la interfaz de usuario de Cloudera Manager. Después de cada proceso de rebalanceo y de migración de datos, el equipo evaluó la distribución de datos e hizo el rebalanceo según las necesidades. Con nodos limitados, habríamos desequilibrado la capacidad del espacio del disco. Por lo tanto detuvimos la carga de datos durante la migración. Por último, el equipo documentó todos los cambios en el middleware o en kernel y estableció las siguientes mejores prácticas de migración: • Documentar los límites del contenedor para las asignaciones en comparación con los rastreadores de tareas, APIs HCatalog para I/O entre Pig, Hive y MapReduce. Documentar también las limitaciones del marco Impala: UDFs, formatos de E/S, limitaciones de memoria, tablas internas y externas. Éstos orientan a Spark y afectan la posición de Hive, Spark e Impala como almacén de datos, ETL a granel y análisis en la memoria. • Revisar y entender las diferencias y los valores de configuración que se deben modificar. Algunos cambios clave que necesitaron ajustes estaban relacionados con la asignación de recursos de MapReduce 1 a MapReduce 2/ YARN1 . • Estabilizar el clúster con los componentes necesarios de migración solamente antes de activar servicios o capacidades adicionales. • Utilizar redes troncales con mucho ancho de banda para soportar las migraciones de datos y minimizar el impacto de los procesos de transferencia de datos y ajustar las configuraciones de ancho de banda de la copia distribuida. • Verificar que los requisitos del firewall de la red estén configurados para soportar la distribución de Hadoop. • Utilizar nombres personales DNS en nodos límite o gateway e interfaces clave para reducir el impacto en el desarrollo. • Coordinar proyectos para monitorear y tener un impacto mínimo sobre los acuerdos de nivel de servicio existentes y as expectativas de desempeño en el trabajo por lotes a lo largo del proceso de migración. • Asegurarse de que los parámetros de ajuste del sistema operativo, los requisitos de permisos y los requisitos de espacio en el disco estén en línea con cada uno de los requisitos de distribución de Hadoop. 1 Compartir: MapReduce 2 es una actualización para la planificación de tiempos, gestión de recursos y ejecución en Hadoop. Lea el blog para obtener información adicional en blog.cloudera.com/blog/2013/11/migrating-to-mapreduce-2-on-yarn-for-users Documento técnico de IT@Intel : Cómo TI de Intel migró con éxito hacia Cloudera Apache Hadoop* Conclusión 10 de 10 IT@Intel El programa IT@Intel conecta a profesionales de TI alrededor del mundo con sus colegas dentro de Intel. Nuestro departamento de TI resuelve algunos de los problemas tecnológicos más exigentes y complejos de la actualidad, y queremos compartir las lecciones directamente con otros profesionales de TI en un foro abierto de pares. Nuestro objetivo es simple: mejorar la eficiencia en toda la organización y aumentar el valor para el negocio de las inversiones en TI. Síganos y participe de nuestras conversaciones en: • Twitter • #IntelIT • LinkedIn • IT Center Community TI de Intel obtuvo una valiosa experiencia a partir de esta migración. A pesar de que la migración de Hadoop fue compleja e involucró múltiples niveles de cambio, el movimiento fue exitoso. Dependimos poco de los equipos de aplicaciones y no encontramos ningún problema significativo asociado con la migración de una distribución a la otra. Una planificación cuidadosa, pruebas exhaustivas y una comunicación proactiva junto con un manejo eficiente del alcance, de los tiempos y de las habilidades nos ayudaron a tener una migración exitosa. Cuando se haga una migración de Hadoop, tenga en cuenta los siguientes consejos: Elija con cuidado el equipo de migración. La tecnología es importante; sin embargo, tener ingenieros de software con las habilidades necesarias es esencial. Los proyectos de migración pueden resultar muy complicados; por lo tanto, resulta fundamental para el éxito del proyecto planificar con antelación, evaluar en detalle ambos productos y entender las brechas. Conforme un pequeño equipo que entienda la solución en su totalidad: las plataformas, el código y las ramificaciones de la migración de datos. Asegúrese de que el equipo pueda comunicarse, ejecutar y evaluar la lista de cambios que es necesario sincronizar para una migración exitosa. Visítenos hoy mismo en intel.com/IT o póngase en contacto con su representante local de Intel para obtener más información. Información relacionada Visite intel.com/IT para obtener contenidos sobre temas relacionados (en inglés): Aproveche las opciones del código abierto. TI de Intel se benefició con la distribución de Hadoop que cuenta con un código abierto en su núcleo, no un software propietario. Mantenerse con los componentes de software de código abierto ayuda a minimizar el costo total de propiedad. Comenzar a una escala pequeña ayuda a mantener el foco en el diseño y en la escalabilidad de la plataforma. • Cómo Intel implementó una solución de bajo costo para Big Data en cinco semanas • Las Mejores prácticas de TI de Intel para implementar el software Apache Hadoop* Mantenga el diseño tan simple como sea posible. TI de Intel priorizó la integración de los componentes y de las capacidades según los casos de uso, en vez de pensar que se deben activar características completamente nuevas. Mantuvimos un equilibrio de alcance, tiempos, pruebas y recursos. Si no resulta claro qué características activar, priorice solamente las que indiquen los casos de uso actuales. A partir de allí, el equipo podrá construir y avanzar en los conjuntos de características según sea necesario. Para nuestra migración los equipos técnicos, de negocios y de modelos utilizaron un método de descubrimiento iterativo para entender los datos. Los entornos divididos ayudaron a simplificar la transferencia de datos. En general, mantener simple el proceso de migración fue la clave para nuestra migración exitosa. • La Integración de Apache Hadoop* en el ambiente de Big Data de Intel Para obtener información adicional sobre las mejores prácticas de TI de Intel visite www.intel.com/IT. LA INFORMACIÓN EN ESTE DOCUMENTO PRETENDE SER DE CARÁCTER GENERAL Y NO UNA GUÍA ESPECÍFICA. LAS RECOMENDACIONES (INCLUYENDO LOS POTENCIALES AHORROS DE COSTOS) ESTÁN BASADAS EN LA EXPERIENCIA DE INTEL Y SON SOLAMENTE ESTIMACIONES. INTEL NO GARANTIZA NI ASEGURA QUE OTROS PUEDA OBTENER RESULTADOS SIMILARES. LA INFORMACIÓN EN ESTE DOCUMENTO SE SUMINISTRA EN RELACIÓN CON PRODUCTOS Y SERVICIOS INTEL. EL PRESENTE DOCUMENTO NO OTORGA NINGUNA LICENCIA, NI EXPRESA NI IMPLÍCITA, NI POR EXCLUSIÓN, NI DE NINGUNA OTRA MANERA, SOBRE NINGÚN DERECHO DE PROPIEDAD INTELECTUAL. A EXCEPCIÓN DE LO ESTABLECIDO EN LOS TÉRMINOS Y CONDICIONES DE VENTA DE INTEL PARA DICHOS PRODUCTOS. EN NINGÚN CASO INTEL SERÁ RESPONSABLE Y CONSECUENTEMENTE RECHAZA CUALQUIER GARANTÍA EXPLÍCITA O IMPLÍCITA CON RESPECTO A LA VENTA Y/O EL USO DE LOS PRODUCTOS Y SERVICIOS INTEL, INCLUYENDO LAS RESPONSABILIDADES O GARANTÍAS RELACIONADAS CON LA IDONEIDAD PARA UN FIN DETERMINADO, LA COMERCIABILIDAD O LA INFRACCIÓN DE CUALQUIER PATENTE, DERECHO DE AUTOR U OTRO DERECHO DE PROPIEDAD INTELECTUAL. Intel, el logotipo de Intel y Xeon son marcas comerciales de Intel Corporation en los EE. UU. y en otros países. *Otros nombres y marcas pueden ser reclamados como propiedad de terceros. Copyright © 2015 Intel Corporation. Todos los derechos reservados. Impreso en EE. UU Por favor reciclar 0315/JSED/KC/PDF