Con el paso del tiempo, Hadoop se ha posicionado como una de las estructuras de software más empleadas en el mundo Big Data. Por esta razón, un buen data scientist debe saber identificar las dinámicas, procesos y herramientas que ofrece para llevar a cabo un estudio adecuado de los macrodatos. Por ejemplo, cómo hacer cambios en clúster de Hadoop es de suma importancia para personalizar tu análisis.
De hecho, existe una gran variedad de alternativas para lograrlo; por ello, hay que llevar a cabo un estudio exhaustivo para comprender cuál es la mejor opción para un procesamiento de datos especializado y específico. En este post, te presentamos, por medio de un ejemplo ilustrativo, cómo realizar cambios en clúster de Hadoop.
¿Qué es Apache Hadoop?
Apache Hadoop es una colección de herramientas open source (código abierto), incluso con algunas closed source (código cerrado), que desarrollan una biblioteca de software. En suma, su implementación se produce con el propósito de almacenar y clasificar adecuadamente los macrodatos.
Como parte constitutiva, Apache Hadoop se compone a partir de cuatro elementos principales que desarrollan todas sus funciones de manera específica y confiable. De manera que, a continuación, te exponemos dichos componentes constitutivos de Apache Hadoop:
- HDFS (Hadoop Distributed File System): es el componente que se encarga de distribuir grandes cantidades de datos en un clúster como parte de la arquitectura de Apache Hadoop.
- YARN (Yet Another Resource Negotiator): es el componente encargado de la administración de los recursos para las peticiones realizadas.
- MapReduce (Map “reading and formatting data” – Reduce “applying transformations/operations on all of the data”): es el componente que ayuda a la computación paralela dentro de Apache Hadoop.
- Hadoop Common: es el componente que relaciona los procesos de los ficheros comunes en las bibliotecas por los distintos módulos de Apache Hadoop.
Ahora bien, conocer estos aspectos te ayudará a comprender cómo se realizan los cambios en clúster de Hadoop, puesto que estos parten de este desarrollo en conjunto.
¿Cómo hacer cambios en clúster de Hadoop?
En primer lugar, es necesario meterse en GCP (Google Cloud Plataform) Storage de la siguiente forma:
En segundo lugar, deberás descargar desde un bucket de Google Storage al filesystem del Cluster-m (para este ejemplo necesitarás cambiar ricardovegas por tu user) de la siguiente manera:
- gsutil cp gs://bucket-cluster-ricardo/jars/elastic/commons-httpclient-3.1.jar.
- gsutil cp gs://bucket-cluster-ricardo/jars/elastic/elasticsearch-hadoop-7.10.2.jar.
Ahora, una vez que estés en el sistema de ficheros del máster de Dataproc, ya podrás cargar los jars en la configuración de Hive. Para ello, tendrás que modificar el hive-site.xml de la siguiente forma:
- sudo su
- nano /usr/lib/hive/conf/hive-site.xml
A continuación, deberás pegar dentro el equivalente en XML. De nuevo, deberás cambiar ricardovegas por tu user en el siguiente ejemplo:
- hive.aux.jars.path /home/ricardovegas/elasticsearch-hadoop-7.10.2.jar,/home/ricardovegas/commons-httpclient-3.1.jar A comma separated list (with no spaces) of the jar files
sed -i ‘$d’ /usr/lib/hive/conf/hive-site.xml - sed -i ‘$a \ \n hive.aux.jars.path\n /home/'”$USER”‘/elasticsearch-hadoop-7.10.2.jar,/home/'”$USER”‘/commons-httpclient-3.1.jar\n \n’ /usr/lib/hive/conf/hive-site.xml
A partir de allí, tendrás que reiniciar Hive para que se desarrollen y actualicen los cambios en clúster de Hadoop. Para ello, deberás poner en el comando lo siguiente:
- exit
- sudo service hive-server2 restart}
Cambios en ElasticSearch
Para realizar los cambios en clúster de Hadoop, en primer lugar, debes colocar en false la opción de seguridad de ElasticSearch y reiniciarlo para que se actualicen las configuraciones, así:
- sudo service elasticsearch restart
Ahora, podrás conectar datos
Por último, para conectar los datos desde Beeline, podrás crear una tabla que se encuentre conectada a un índice de ElasticSearch de la siguiente forma en comandos de la consola:
- beeline -u jdbc:hive2://localhost:10000
- CREATE EXTERNAL TABLE alumnos_es (id INT, name STRING, last_name STRING) STORED BY ‘org.elasticsearch.hadoop.hive.EsStorageHandler’ TBLPROPERTIES(‘es.resource’ = ‘alumnos’, ‘es.index.auto.create’ = ‘true’, ‘es.nodes’ = ‘34.88.146.137’);
- INSERT INTO alumnos_es values(1, ‘ricardo’, ‘vegas’), (2, ‘pedro’, ‘perez’);
- INSERT INTO alumnos_es values(3, ‘maria’, ‘ochoa’), (4, ‘mario’, ‘gomez’);
En este proceso has podido desarrollar los cambios en clúster de Hadoop por medio de una ejemplo realizado por KeepCoding; sin embargo, para conseguir los resultados esperados en un análisis particular se necesita de una dedicación y práctica constantes para descifrar el funcionamiento efectivo.
Continuar aprendiendo sobre Big Data
En el transcurso de este post, te hemos expuesto cómo puedes hacer cambios en clúster de Hadoop por medio de un ejemplo práctico y sencillo. No obstante, este proceso posee muchas más configuraciones en cuanto a lo que realizar cambios en clúster de Hadoop se refiere, puesto que este proceso facilita muchas cuestiones en el procesamiento de los macrodatos. Por este motivo, resulta necesario seguir aprendiendo al respecto.
Si aún no sabes cómo, en KeepCoding te ofrecemos el Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning. Por medio de este, se te presentarán las teorías del aprendizaje automático con énfasis en algoritmos de regresión y clasificación. De manera que, con el tiempo, serás capaz de conocer las ventajas y desventajas de los distintos algoritmos analizados. Además, llegarás a las buenas prácticas en el entrenamiento de modelos de aprendizaje automático, gracias a que se fusionarán los fundamentos con ejemplos prácticos y realistas. ¡Inscríbete y empieza ahora!