Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Installation failed. Failed to receive heartbeat from agent.

avatar
Explorer

I am trying to install Cloudrea Manager Standard edition and CHD4 with parcels. This is being installed on three Dell machines running Ubuntu 12.04.2 LTS 64 bit. I am receiving an error on all three machines:

    Ensure that the host's hostname is configured properly.

    Ensure that port 7182 is accessible on the Cloudera Manager server (check firewall rules).

    Ensure that ports 9000 and 9001 are free on the host being added.

    Check agent logs in /var/log/cloudera-scm-agent/ on the host being added (some of the logs can be found in the installation details).

 

I checked that the hostname is configured.

 

I checked that Ports 7182, 9000 and 9001 are free (I am guessing that Cloudera is using 9000 & 9001 for python because these ports are in use after the install fails but not before the install).

sudo netstat -tulpn

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      1104/X

tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      1123/dnsmasq

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      655/sshd

tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      792/cupsd

tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      29403/0

tcp6       0      0 :::6000                 :::*                    LISTEN      1104/X

tcp6       0      0 :::22                   :::*                    LISTEN      655/sshd

tcp6       0      0 ::1:631                 :::*                    LISTEN      792/cupsd

tcp6       0      0 ::1:6010                :::*                    LISTEN      29403/0

udp        0      0 127.0.0.1:53            0.0.0.0:*                           1123/dnsmasq

udp        0      0 0.0.0.0:68              0.0.0.0:*                           1073/dhclient

udp        0      0 0.0.0.0:36051           0.0.0.0:*                           790/avahi-daemon: r

udp        0      0 0.0.0.0:5353            0.0.0.0:*                           790/avahi-daemon: r

udp6       0      0 :::50807                :::*                                790/avahi-daemon: r

udp6       0      0 :::5353                 :::*                                790/avahi-daemon: r

 

And I checked the firewalls and they are open

sudo iptables -L

Chain INPUT (policy ACCEPT)

target     prot opt source               destination

 

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination

 

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

 

Lastly I checked the log files in /var/log/cloudera-scm-agent/ and they do not show any errors  and there was only one warning, that the default socket timeout was set to 30.

 

Can anyone point me to what the possible problem is? We are looking at using Hadoop in one of our solutions and are trying to evaluate it before purchasing the Enterprise version. I cannot use a cloud version because of data restrictions put on my by the data vendor and client so I need to have an internal sandbox to get an idea of what we need to develop and what we will need to support. Thanks!

 

2 ACCEPTED SOLUTIONS

avatar
Guru

@enelso:  Your hostname needs to be tied to an actual IP address on your local network which can send/receive traffic between all the hosts.  The address you have associated your hostname with is the loopback address, which cannot route actual network traffic off the host.

 

Use "ifconfig -a" to see a listing of your network interfaces and choose one that has an actual IP address. 

View solution in original post

avatar
Guru

Hello,

 

  I apologize for the delay.  I think there may be a couple of things going on.  For starters, you should add your own hostname and IP address to the /etc/hosts file on each machine.  In other words, both Host1 and Host2 entries should be in the /etc/hosts file on both machines.  Also, have you checked to see if iptables is running?  That is a firewall app that can stop traffic between nodes.  To identify if iptables is running and disable it, do this (as root):

 

$ sudo chkconfig iptables --list
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

 

 

If you see iptables as "on" for any of those values (especially #5), than it's probably getting in your way, you should disable it unless you've got a company policy requiring it be enabled.  To disable it, run this command:

 

sudo chkconfig iptables off

 

View solution in original post

30 REPLIES 30

avatar
Expert Contributor

Here's a step by step guide to troubleshoot this error:

 

http://www.yourtechchick.com/hadoop/failed-receive-heartbeat-agent-cloudera-hadoop/