0 votos

Intentando que Hadoop funcione; "conexión rechazada" en Hadoop y en Telnet

Estaba intentando que Hadoop funcionara en modo autónomo en mi MBP (OS 10.9.5), pero seguía recibiendo errores de "conexión rechazada". Encontré que telnet localhost 9000 da el mismo error, que es lo que me dijeron que probara como diagnóstico. Lo mismo ocurre si intento 127.0.0.1 en lugar de localhost o si intento ftp en lugar de telnet . Sin embargo, ping localhost y ssh localhost funcionan bien.

Hace un tiempo me lié con la configuración de un servidor Apache y me preocupa haber roto algo. En algún momento, aparentemente había añadido la línea:

127.0.0.1    test.local

a /etc/hosts . También había modificado httpd.conf para utilizar la carpeta ~/test como mi DocumentRoot y había cambiado a extra/httpd-vhosts.conf también.

He restaurado el original httpd* archivos del /etc/apache2/original y he restaurado la carpeta /etc/hosts a su estado original. apachectl configtest me da:

httpd: Could not reliably determine the server's fully qualified domain name, using <username>.local for ServerName
Syntax OK

¿Y qué hago? ¿Cómo puedo hacer que mi ordenador deje de rechazar la conexión? No sé mucho sobre redes o servidores.


Para completar, aquí está el error original de telnet:

$ ssh localhost
$ telnet localhost 9000
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host

y mi /etc/hosts archivo:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0 localhost

y el error de Hadoop que utiliza el mismo lenguaje de "conexión rechazada" que telnet :

java.net.ConnectException: Call From <username>.local/<ip> to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

Siguiendo el enlace del error ( http://wiki.apache.org/hadoop/ConnectionRefused ), he leído lo siguiente:

Si la aplicación o el clúster no funcionan, y este mensaje aparece en el registro, entonces es más grave.

  • Compruebe que el nombre de host que utiliza el cliente es correcto
  • Compruebe que la dirección IP con la que el cliente intenta hablar para el nombre de host es correcta.
  • Asegúrese de que la dirección de destino en la excepción no es 0.0.0.0 -esto significa que usted no ha configurado el cliente con la dirección real para ese servicio, y en su lugar está recogiendo la propiedad del lado del servidor que le dice que escuche en cada puerto para las conexiones.
  • Compruebe que no hay una entrada para su nombre de host asignada a 127.0.0.1 o 127.0.1.1 en /etc/hosts (Ubuntu es famoso por esto)
  • Compruebe que el puerto con el que el cliente intenta hablar coincide con el que el servidor ofrece un servicio.
  • En el servidor, intente un telnet localhost <port> para ver si el puerto está abierto allí.
  • En el cliente, intente un telnet <server> <port> para ver si el puerto es accesible de forma remota.

Ninguno de estos son problemas de Hadoop, son problemas de configuración de host, red y firewall. Como es tu clúster, sólo tú puedes averiguar y localizar el problema.

y efectivamente me falla el penúltimo paso, que aparentemente debería funcionar; de ahí esta pregunta.

0voto

jherran Puntos 6511

Es normal conseguir conection refused si usted ftp o telnet a localhost, al menos si no tienes en marcha ese tipo de servidores, y por defecto, no lo tienes.

El /etc/hosts debería tener el siguiente aspecto 127.0.0.1 localhost por defecto. Para usar apache y evitar el error que mencionas, debes añadir ServerName localhost a httpd.conf . Reinicie apache y debería funcionar bien.

No sé si esto soluciona también el error de Hadoop. No puedo ayudarte. Solo inténtalo y hazme saber.

0voto

ssdecontrol Puntos 215

Resulta que tenía desactivado el "Inicio de sesión remoto" en las Preferencias del Sistema.

La solución fue:

Preferencias del Sistema -> Compartir -> Marcar la casilla "Inicio de sesión remoto"

Aunque también reformateé el disco duro y actualicé a Yosemite, así que tener una versión nueva de Apache probablemente también ayudó.

0voto

jack Puntos 1

A veces esta excepción se lanza cuando uno inicia hadoop sin iniciar el namenode, así que antes de ejecutar sbin/start-dfs.sh es aconsejable correr:

bin/hdfs namenode

Buena suerte.

0voto

Rakesh Jha Puntos 1

También estoy recibiendo el mismo error al ejecutar hadoop dfs -ls

<HOSTNAME> to 0.0.0.0:9000 failed on connection
exception: java.net.ConnectException: Connection refused; 
For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

Para mí fue un problema con el tema de los permisos; ejecute hadoop namenode -format y compruebe si recibe la siguiente excepción:

java.io.IOException: Cannot create directory /usr/local/hadoop/dfs/name/current
java.io.IOException: Cannot create directory /usr/local/hadoop/dfs/name/current

Si usted está recibiendo la excepción anterior; dar permiso de escritura ;

  • Detener el hadoop
  • sudo chmod 777 /usr/local/hadoop/dfs/name/
  • Iniciar hadoop
  • hadoop namenode -format para verificar

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X