Considerando que cada dia necesitamos mas procesamiento , para poder calcular operaciones, de analisis de negocios, en diferentes entornos como bancareos , telecomunicaciones, Salud entre otros, cada dia mas se esta escuchando del ecosistema de Hadoop de Apache software fundation para resolver los grandes procesos “Time consuming” y “Hardware highcost” de las empresas
Algunos ejemplos
- The New York Stock Exchange genera cerca de un Terabyte de datos sobre “Trade’s” por dia
- Facebook cada dia suben cerca a 10 billiones de fotos, requiriendo cerca de un petabyte de storadge.
- Bank of America usa hadoop en su dia a dia para poder procesar mas de 2.2 Billones de USD de trasferencias y tener toda la información registrada para anti-fraude o incluso para atención al cliente
- Amazon usa Hadoop para ofrecernos el conocido AWS y otros de sus servicios.
- http://wiki.apache.org/hadoop/PoweredBy
Entonces los problemas basicos que resuelve Hadoop y el ecosistema de aplicaciones que vamos a mostrar como instalarlas y mas adelante como utilizarlas en el dia a dia, es lo siguiente
- Un ecosistema altamente redundante y distribuido independente de tipo de hardware basado en un sistema de archivos Hadoop Distributed File System (HDFS )
- Sistema de No-SQL , SQL , “Batch process”, API’s (y en algunos casos incluso NFS) para acceder a la información.
- Altamente escalable y mas veloz de las tipicas Bases de datos Cliente servidor.
- Multiples aplicativos para poder migrar Oracle, Teradata , Mysql ademas de Monitorizar, Reportar , Administrar y configurar el ecosistema de aplicativos .
Listado de aplicaciones Que trabajan con Hadoop mas conocidas (las explicaciones estan sacadas de cada web en ingles ) :
Flume — A distributed, reliable, and available service for efficiently moving large amounts of data as the data is produced. This release provides a scalable conduit to shipping data around a cluster and concentrates on reliable logging. The primary use case is as a logging system that gathers a set of log files on every machine in a cluster and aggregates them to a centralized persistent store such as HDFS.
Sqoop — A tool that imports data from relational databases into Hadoop clusters. Using JDBC to interface with databases, Sqoop imports the contents of tables into a Hadoop Distributed File System (HDFS) and generates Java classes that enable users to interpret the table's schema. Sqoop can also export records from HDFS to a relational database.
Sqoop 2 — A server-based tool for transferring data between Hadoop and relational databases. You can use Sqoop 2 to import data from a relational database management system (RDBMS) such as MySQL or Oracle into the Hadoop Distributed File System (HDFS), transform the data with Hadoop MapReduce, and then export it back into an RDBMS.
HCatalog — A tool that provides table data access for Hadoop components such as Pig and MapReduce.
Hue — A graphical user interface to work with Hadoop. Hue aggregates several applications which are collected into a desktop-like environment and delivered as a Web application that requires no client installation by individual users.
Pig — Enables you to analyze large amounts of data using Pig's query language called Pig Latin. Pig Latin queries run in a distributed way on a Hadoop cluster.
Hive — A powerful data warehousing application built on top of Hadoop which enables you to access your data using Hive QL, a language that is similar to SQL.
HBase — provides large-scale tabular storage for Hadoop using the Hadoop Distributed File System (HDFS).
Zookeeper — A highly reliable and available service that provides coordination between distributed processes.
Oozie — A server-based workflow engine specialized in running workflow jobs with actions that execute Hadoop jobs. A command line client is also available that allows remote administration and management of workflows within the Oozie server.
Whirr — Provides a fast way to run cloud services.
Snappy — A compression/decompression library. You do not need to install Snappy if you are already using the native library, but you do need to configure it.
Mahout — A machine-learning tool. By enabling you to build machine-learning libraries that are scalable to "reasonably large" datasets, it aims to make building intelligent applications easier and faster.
Ambari - GUI hadoop manager through web interface to deploy, configure and manage hadoop Ecosystem instalations, and administrations day by day task’s
Sorl - blazing fast open source enterprise search platform from the Apache LuceneTM project. Its major features include powerful full-text search, hit highlighting, faceted search, near real-time indexing, dynamic clustering, database integration, rich document handling, and geospatial search.
Ganglia & Nagios - Monitoring and alerting Tools that can be configure to work whit hadoop Ecosystem.
Serengeti - Opensource Virtual appliance to implemente Hadoop Ecosystems based in Vmware Inc. products.
Entonces ente tanta aplicación que es lo que se puede hacer con hadoop su aplicaciones reales (esta es una pequeña lista)..
Servicios Financieros
- Consumidor y Modelo de riesgos de mercado
- Visualización de productos y control de productos
- Detección de Fraudes y Anti-lavado de dinero
- Aceleración de Inteligencia de negocios
Gobierno
- Ciber seguridad , Detección de fraudes, Aplicaciones de respuesta a incidentes
- Gobierno Electronico y descentralización de datos
- Procesamiento de imagenes , video y datos Geoespaciales
Salud
- Secuencia DNA y investigación
- Analisis de casos cuantitativos y procesamiento de casos masivos
Entretenimiento
- busqueda & recomendación de contenidos optimizados
- Analisis digital de contenido y almacenamiento de contenido digital masivo con metodos eficientes
- Enfoque de campañas de marketing basado en predicciones
Tecnologia
- Invesitagación y Desarrollo
- Procesamiento de Datos masivos para imagenes , video o otros datos no estructurados
- Servicios de Ciber seguridad, detección de fraudes, analisis de malware masivo o Detección de patrones de ataques masivos.
Telecomunicaciones
- Inteligencia de negocio
- Invesitagación y Desarrollo
- Analisis de la capacidad del servicio de Red, Administración de servicios , Eficiencia y modelos predictivos de negocios de consumición
Bueno ya con esta introducción creo que queda mas claro ese mundo de Big Data y sus aplicaciones , el concepto base que se debe de extraporar de esto es simple un trabajo distribuido entre 10 personas en fila siempre sera mas lento que un trabajo distribuido en 10 personas en paralelo y coordinadas para la ejecución, y ademas en modelos de bases de datos relacioneles (RDBMS) mas servidores generalemente no significa que el trabajo (Threads) se distribuyan eficientemente.
Es ahi donde entra a trabajar Hadoop y su ecosistema de aplicaciones para hacer todos esos procesos de IT mas eficientes a menor costo, mas redundantes y seguros.
¿Y entonces que pasa con IBM o ORACLE o TERADATA que dominan estos mundos de IT?
Simplemente que estan acoplando sus productos para trabajar con el estandar “Defacto” de la industria y en algunos casos ni siquiera teminan de acoplar sus productos como es el caso de oracle, o como es el caso vender a precios desorbitados una interfaz de Hadoop como IBM o no administrar eficientemente los Threads como TERADATA, bueno cada empresa tiene su modelo de negocio basado en la experiencia de uso y implementación pero al final y alcabo todo ... TOdo ...TODO -- que quiera adminitrar grandes cantidades de datos masivos reside en Hadoop ..
Generalmente existe una Fase de planteamiento del Cluster y planteamiento de servicios para la instalación del ecosistema de Hadoop que en este caso vamos a ir de frente a la instalación ( unicamente para las implementaciones empresariales, con alta resilencia, disponibilidad y Seguridad es que se debe de considerar unas fases de preparación , diseño del cluster y instalación de servicios para el sector especifico ):
Instalación I (vamos a hacer varias instalaciones de hadoop con multiples variaciones de las mismas, puesto que pueda ser que el ecosistema diferiera segun el sector) :
Esta instalación trabajaremos con la versión CDH 4.x distribución de hadoop modificada.
Luego pasaremos por la ultima versión de Hadoop de apache Fundation
y terminaremos con el Autoinstalador de Ambari
**Obviamente antes de entrar a la parte divertita de la seguridad tendremos primero que pasar por toda la instalación y configuración ;)