Intentando que Hadoop funcione; “Conexión rechazada” en Hadoop y en Telnet.

0

Estaba intentando que Hadoop funcionara en modo independiente en mi MBP (OS 10.9.5), pero seguí recibiendo errores de "conexión rechazada". Encontré que telnet localhost 9000 da el mismo error, que es lo que me dijeron que intentara 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 había metido en problemas con la configuración de un servidor Apache, y me preocupa que pueda haber roto algo. En algún momento, aparentemente había agregado la línea:

127.0.0.1    test.local

a /etc/hosts . También modifiqué httpd.conf para usar la carpeta ~/test como mi DocumentRoot , y también cambié a extra/httpd-vhosts.conf .

Restauré los archivos originales httpd* de la carpeta /etc/apache2/original y restauré el archivo /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

Entonces, ¿qué hago? ¿Cómo puedo hacer que mi computadora 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 archivo /etc/hosts :

##
# 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 usa el mismo idioma 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 ( enlace ), leí lo siguiente:

  

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

     
  • Verifique que el nombre de host que usa el cliente sea correcto
  •   
  • Verifique que la dirección IP con la que el cliente está tratando de hablar para el nombre de host es correcta.
  •   
  • Asegúrese de que la dirección de destino en la excepción no sea 0.0.0.0; esto significa que no ha configurado realmente el cliente con la dirección real para eso   servicio, y en su lugar, está recogiendo la propiedad del lado del servidor que le dice que escuche en cada puerto para las conexiones.
  •   
  • Verifique que no haya una entrada para su nombre de host asignada a 127.0.0.1 o 127.0.1.1 en / etc / hosts (Ubuntu es conocido por esto)
  •   
  • Verifique el puerto con el que el cliente está tratando de hablar usando coincidencias en las que el servidor está ofreciendo un servicio.
  •   
  • En el servidor, intente un telnet localhost <port> para ver si el puerto está abierto allí.
  •   
  • En el cliente, pruebe con telnet <server> <port> para ver si se puede acceder al puerto de forma remota.
  •   

Ninguno de estos son problemas de Hadoop, son problemas de configuración del servidor, la red y el firewall. Como es su grupo, solo usted puede descubrir y rastrear el problema.

y, de hecho, fallo en el segundo a último paso, que aparentemente debería funcionar; de ahí esta pregunta.

    
pregunta shadowtalker 29.10.2014 - 08:41

4 respuestas

0

¡Resulta que tenía el "Inicio de sesión remoto" inhabilitado en las Preferencias del sistema!

La solución fue:

  

Preferencias del sistema - > Compartir - > Marque la casilla "Inicio de sesión remoto"

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

    
respondido por el shadowtalker 22.02.2015 - 18:27
0

Es normal obtener conection refused si ftp o telnet a localhost, al menos si no tiene funcionando este tipo de servidores, y de forma predeterminada, no.

El /etc/hosts debería verse como 127.0.0.1 localhost por defecto. Para usar Apache y evitar el error que mencionó, debe agregar ServerName localhost a httpd.conf . Reinicie Apache y debería funcionar bien.

No sé si esto también soluciona el error de Hadoop. No puedo ayudarte en eso. Solo trata y házmelo saber.

    
respondido por el jherran 29.10.2014 - 08:58
0

A veces, esta excepción se produce cuando se inicia hadoop sin iniciar el namenode, por lo que antes de ejecutar sbin/start-dfs.sh es recomendable ejecutar:

bin/hdfs namenode

Buena suerte.

    
respondido por el Tenflex 01.03.2018 - 23:47
0

También obtengo 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 problema de permisos; ejecute hadoop namenode -format y verifique si obtiene una excepción inferior:

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 está obteniendo la excepción anterior; dar permiso de escritura;

  • Detener hadoop
  • sudo chmod 777 /usr/local/hadoop/dfs/name/
  • Inicia hadoop
  • hadoop namenode -format para verificar
respondido por el Rakesh Jha 13.10.2018 - 11:14

Lea otras preguntas en las etiquetas