You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+70-74Lines changed: 70 additions & 74 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,25 +2,35 @@
2
2
3
3
## Descripción del Proyecto
4
4
5
-
Este proyecto demuestra la integración entre Hadoop y ElasticSearch, creando una conexión funcional entre Hive y un índice de ElasticSearch. La combinación de estas tecnologías permite aprovechar lo mejor de ambos mundos: el procesamiento masivo de datos de Hadoop y las capacidades de búsqueda y análisis en tiempo real de ElasticSearch.
5
+
En este proyecto he demostrado la integración entre Hadoop y ElasticSearch, creando una conexión funcional entre Hive y un índice de ElasticSearch. La combinación de estas tecnologías me permitió aprovechar lo mejor de ambos mundos: el procesamiento masivo de datos de Hadoop y las capacidades de búsqueda y análisis en tiempo real de ElasticSearch.
6
6
7
-
## Beneficios de la Integración Hadoop-ElasticSearch
7
+
##Requisitos Técnicos y Software Utilizado
8
+
##Infraestructura Cloud
8
9
9
-
-**Análisis de Datos en Tiempo Real**: ElasticSearch permite realizar búsquedas y análisis de texto completo de manera eficiente, permitiendo obtener resultados rápidos en consultas complejas sobre grandes volúmenes de datos.
-**Integración de Fuentes de Datos**: Hadoop procesa y almacena grandes volúmenes de datos estructurados y no estructurados, que ahora pueden ser indexados en ElasticSearch para facilitar su acceso y búsqueda.
21
+
Hadoop Ecosystem
22
+
- Hive 3.1.3
12
23
13
-
-**Indexación Eficiente**: Utilizamos Hadoop para preparar y procesar datos antes de indexarlos en ElasticSearch, aplicando transformaciones complejas o agregaciones masivas cuando sea necesario.
24
+
Librerías y Conectores
25
+
- ES-Hadoop 8.14.1
26
+
- Commons-httpclient 3.1
14
27
15
-
-**Consultas y Visualizaciones Avanzadas**: ElasticSearch proporciona capacidades avanzadas para consultas y visualizaciones, que ahora pueden ejecutarse sobre grandes conjuntos de datos procesados por Hadoop.
16
-
17
-
-**Búsqueda y Recuperación Optimizada**: Esta integración mejora significativamente la capacidad de búsqueda y recuperación de información, permitiendo encontrar rápidamente datos relevantes.
18
-
19
-
Al agregar la visualización con Kibana, obtenemos una solución completa para la obtención, procesamiento y gestión de Big Data.
28
+
Herramientas para Documentación
29
+
- Claude Sonnet 3.7 - Utilizado para generar documentación detallada del proceso, problemas encontrados y soluciones
20
30
21
31
## Arquitectura del Sistema
22
32
23
-
Nuestra arquitectura combina:
33
+
Mi arquitectura combina:
24
34
- Un clúster Hadoop en Google Cloud Dataproc
25
35
- Un servidor ElasticSearch (ELK stack) con Kibana y Logstash
26
36
- Conectores ES-Hadoop para la integración entre ambos sistemas
@@ -30,12 +40,12 @@ Nuestra arquitectura combina:
30
40
### Parte 1: Configuración ES-Hadoop
31
41
32
42
#### Configuración del Clúster Hadoop
33
-
1.Creamos un clúster Hadoop en Google Cloud Dataproc
34
-
2.Cargamos las bibliotecas necesarias para la integración:
43
+
1.Creé un clúster Hadoop en Google Cloud Dataproc
44
+
2.Cargué las bibliotecas necesarias para la integración:
35
45
- elasticsearch-hadoop-8.14.1.jar
36
46
- commons-httpclient-3.1.jar
37
-
3.Creamos un bucket en Google Storage para almacenar estos archivos JAR
38
-
4.Descargamos los archivos desde el bucket al sistema de archivos del clúster
47
+
3.Creé un bucket en Google Storage para almacenar estos archivos JAR
48
+
4.Descargué los archivos desde el bucket al sistema de archivos del clúster
3.Verificamos la inserción de datos con una consulta:
116
+
3.Verifiqué la inserción de datos con una consulta:
107
117
108
118
```bash
109
119
curl -X GET "http://IP-SERVER-ELASTIC:9200/alumnos/_search?pretty"
110
120
```
111
121
112
122
### Parte 5: Visualización con Kibana
113
123
114
-
1.Accedemos a Kibana a través del navegador: `http://IP_ELASTIC_SERVER:5601`
115
-
2.Creamos una vista de datos (Data View) para el índice "alumnos"
116
-
3.Creamos un dashboard con visualizaciones de los datos
117
-
4.Exploramos las diferentes opciones de visualización que ofrece Kibana
124
+
1.Accedí a Kibana a través del navegador: `http://IP_ELASTIC_SERVER:5601`
125
+
2.Creé una vista de datos (Data View) para el índice "alumnos"
126
+
3.Creé un dashboard con visualizaciones de los datos
127
+
4.Exploré las diferentes opciones de visualización que ofrece Kibana
118
128
119
-
## Problemas Comunes y Soluciones
129
+
## Problemas que Enfrenté y Cómo los Resolví
120
130
121
-
Durante la implementación de este proyecto, nos encontramos con varios desafíos técnicos que pudimos resolver:
131
+
Durante la implementación de este proyecto, me encontré con varios desafíos técnicos:
122
132
123
133
### 1. Problemas de Conectividad entre Hadoop y ElasticSearch
124
134
125
-
**Problema:**El clúster Hadoop no podía conectarse al servidor ElasticSearch.
135
+
**Problema:**Mi clúster Hadoop no podía conectarse al servidor ElasticSearch.
126
136
127
137
**Solución:**
128
-
-Verificamos que las reglas de firewall estuvieran correctamente configuradas para permitir el tráfico al puerto 9200.
129
-
-Configuramos ElasticSearch en modo inseguro (`xpack.security.enabled: false`) para propósitos de prueba.
130
-
-Agregamos la propiedad `es.nodes.wan.only=true` en la configuración de Hive para permitir conexiones desde fuera de la red local.
138
+
-Verifiqué que las reglas de firewall estuvieran correctamente configuradas para permitir el tráfico al puerto 9200.
139
+
-Configuré ElasticSearch en modo inseguro (`xpack.security.enabled: false`) para propósitos de prueba.
140
+
-Agregué la propiedad `es.nodes.wan.only=true` en la configuración de Hive para permitir conexiones desde fuera de la red local.
131
141
132
142
### 2. Errores en la Carga de JAR
133
143
134
144
**Problema:** Hive no podía encontrar las bibliotecas de ElasticSearch-Hadoop.
135
145
136
146
**Solución:**
137
-
-Verificamos la ruta correcta donde debían colocarse los archivos JAR (`/usr/lib/hive/lib/`).
138
-
-Nos aseguramos de cargar el JAR correcto del paquete ElasticSearch-Hadoop (el que se encuentra en la carpeta `dist` del archivo ZIP).
139
-
-Reiniciamos el servicio Hive después de cargar los JAR.
147
+
-Verifiqué la ruta correcta donde debían colocarse los archivos JAR (`/usr/lib/hive/lib/`).
148
+
-Me aseguré de cargar el JAR correcto del paquete ElasticSearch-Hadoop (el que se encuentra en la carpeta `dist` del archivo ZIP).
149
+
-Reinicié el servicio Hive después de cargar los JAR.
140
150
141
151
### 3. Configuración Incorrecta de Hive
142
152
143
153
**Problema:** Los comandos `sed` para modificar el archivo de configuración `hive-site.xml` no funcionaban correctamente.
144
154
145
155
**Solución:**
146
-
-Editamos manualmente el archivo para asegurarnos de que la sintaxis XML fuera correcta.
147
-
-Verificamos que no hubiera caracteres especiales o espacios que pudieran afectar la interpretación de los comandos.
148
-
-Comprobamos que el archivo terminara correctamente con la etiqueta `</configuration>`.
156
+
-Edité manualmente el archivo para asegurarme de que la sintaxis XML fuera correcta.
157
+
-Verifiqué que no hubiera caracteres especiales o espacios que pudieran afectar la interpretación de los comandos.
158
+
-Comprobé que el archivo terminara correctamente con la etiqueta `</configuration>`.
149
159
150
160
### 4. Versiones Incompatibles
151
161
152
-
**Problema:**Incompatibilidad entre versiones de ElasticSearch y el conector ES-Hadoop.
162
+
**Problema:**Tuve incompatibilidad entre versiones de ElasticSearch y el conector ES-Hadoop.
153
163
154
164
**Solución:**
155
-
-Aseguramos que la versión de ElasticSearch (8.14.1) coincidiera con la versión del conector ES-Hadoop.
156
-
-Utilizamos la biblioteca commons-httpclient adecuada para evitar problemas de compatibilidad.
165
+
-Me aseguré de que la versión de ElasticSearch (8.14.1) coincidiera con la versión del conector ES-Hadoop.
166
+
-Utilicé la biblioteca commons-httpclient adecuada para evitar problemas de compatibilidad.
157
167
158
168
### 5. Problemas con la Indexación de Datos
159
169
160
170
**Problema:** Los datos no aparecían en ElasticSearch después de intentar indexarlos.
161
171
162
172
**Solución:**
163
-
-Verificamos la sintaxis correcta de los comandos curl para la inserción de datos.
164
-
-Comprobamos que el índice "alumnos" estuviera correctamente creado antes de intentar insertar documentos.
165
-
-Utilizamos el parámetro "pretty" en las consultas para facilitar la lectura de resultados y depuración.
173
+
-Verifiqué la sintaxis correcta de los comandos curl para la inserción de datos.
174
+
-Comprobé que el índice "alumnos" estuviera correctamente creado antes de intentar insertar documentos.
175
+
-Utilicé el parámetro "pretty" en las consultas para facilitar la lectura de resultados y depuración.
166
176
167
177
### 6. Problemas con Kibana
168
178
169
179
**Problema:** Kibana no mostraba el índice "alumnos" en la lista de índices disponibles.
170
180
171
181
**Solución:**
172
-
-Refrescamos manualmente la lista de índices en Kibana.
173
-
-Creamos una vista de datos (Data View) escribiendo manualmente el patrón del índice.
174
-
-Verificamos que Kibana estuviera utilizando la configuración correcta para conectarse a ElasticSearch.
182
+
-Refresqué manualmente la lista de índices en Kibana.
183
+
-Creé una vista de datos (Data View) escribiendo manualmente el patrón del índice.
184
+
-Verifiqué que Kibana estuviera utilizando la configuración correcta para conectarse a ElasticSearch.
175
185
176
-
Estos desafíos son comunes en implementaciones de integración de tecnologías de Big Data y su resolución nos permitió ganar experiencia valiosa en la configuración y optimización de estos sistemas.
186
+
Enfrentar y superar estos desafíos me permitió ganar experiencia valiosa en la configuración y optimización de estos sistemas de Big Data.
177
187
178
188
## Conclusiones
179
189
180
-
La integración de Hadoop con ElasticSearch proporciona una solución poderosa para el procesamiento, análisis y visualización de grandes volúmenes de datos. Esta configuración permite:
190
+
La integración de Hadoop con ElasticSearch me proporcionó una solución poderosa para el procesamiento, análisis y visualización de grandes volúmenes de datos. Con esta configuración pude:
181
191
182
192
- Procesar datos masivos con Hadoop
183
193
- Indexar y buscar eficientemente con ElasticSearch
184
194
- Visualizar los resultados de manera interactiva con Kibana
185
195
186
-
Esta combinación es ideal para casos de uso como análisis de logs, búsqueda de texto completo en grandes repositorios de documentos, análisis de datos en tiempo real y muchas otras aplicaciones de Big Data.
187
-
188
-
## Requisitos Técnicos
189
-
190
-
- Google Cloud Platform (para Dataproc y VM)
191
-
- Hadoop/Hive
192
-
- ElasticSearch 8.x
193
-
- Kibana
194
-
- Conectores ES-Hadoop
195
-
- Acceso a firewall para configurar puertos
196
+
Esta combinación resultó ideal para casos de uso como análisis de logs, búsqueda de texto completo en grandes repositorios de documentos, análisis de datos en tiempo real y muchas otras aplicaciones de Big Data.
196
197
197
-
## Próximos Pasos
198
198
199
-
- Implementar seguridad en ElasticSearch
200
-
- Automatizar el proceso de ingesta de datos
201
-
- Crear pipelines de procesamiento más complejos
202
-
- Explorar capacidades avanzadas de agregación y visualización
0 commit comments