Puerto 9200: El puerto por defecto de Elasticsearch explicado
El puerto 9200 es el puerto de la API HTTP de Elasticsearch, la fuente de la mayoría de los errores "ya en uso" al correr un stack de búsqueda local. Esto es lo que hay ahí y cómo liberarlo.
El puerto 9200 pertenece a Elasticsearch, y es uno de los puertos más comunes de “por qué no arranca esto” para cualquiera que corra un stack local de búsqueda o logging.
Qué suele escuchar en el puerto 9200
- Elasticsearch: El puerto por defecto de la API HTTP para consultas, indexación y gestión del clúster.
- Contenedores de Docker: Una forma muy común de correr Elasticsearch localmente es vía Docker, que mapea su 9200 interno al 9200 de tu host.
- Herramientas del stack ELK/Elastic: Kibana (normalmente en el 5601) y Logstash hablan con Elasticsearch por este puerto, así que un stack local completo tendrá el 9200 en uso como dependencia aunque no interactúes con él directamente.
¿Es seguro terminarlo?
Sí, para una instancia de desarrollo local. Un cierre limpio (deteniendo el servicio o contenedor de Elasticsearch en vez de forzar el cierre) es mejor práctica si tienes datos que te importan, ya que un cierre abrupto a mitad de escritura ocasionalmente puede dejar un índice necesitando recuperación en el próximo inicio. Para una instancia de desarrollo local desechable, un cierre forzado está bien.
¿Es sospechoso?
No en una máquina que sabes que corre un stack de búsqueda. Se convierte en una preocupación real en un contexto completamente distinto: instancias de Elasticsearch sin autenticación habilitada, expuestas directamente al internet público en el puerto 9200, han sido la fuente de varias filtraciones de datos grandes y bien documentadas a lo largo de los años. Eso es un problema de exposición de servidor, no de desarrollo local: en tu propio Mac detrás de un router, una instancia de Elasticsearch en el 9200 no es alcanzable desde fuera de tu red por defecto.
Cómo encontrar y liberar el puerto 9200 en macOS
lsof -i :9200
Para detenerlo:
kill -9 $(lsof -ti :9200)
O, si es un contenedor de Docker, usa docker stop en el contenedor en vez de terminar el proceso directamente.
Portie muestra exactamente qué está enlazado al 9200, útil para confirmar que una instancia de Elasticsearch perdida es realmente la que querías detener, especialmente cuando tienes más de un proyecto local usándolo.