Jun 6, 2019

socket.error: [Errno 110] DNS issue while installing cloudera agent connection timed out; no servers could be reached [AWS]

Recently i was installing cloudera cluster on aws ec2 instances  .

AWS setup which we had was having VPC without IGW R53 and we were  using site to site vpn connection

cloudera agent installation was failing  because cloudera uses "host -t PTR IP" command , while installing cloudera agent  and agent node should be able to reach cloudera manager server host via "host" command on port 7182

"host" command should work in order for cloudera installation to work 

Cloudera requires "host" and "nslookup" to work on all nodes.
cloudera  requires name resolution and a configuring /etc/hosts file.
See the following requirements document:


Procedure to install cloudera agent I see is that " from cloudera agent it should be able to reach scm server at serverIP:7182 " via below commands

Solution :
I had issue with my file /etc/resolv.conf , it dint have proper nameserver entry and this file was getting corrupt on every ec2 restart so i had to fix this file and disable NetworkManager  as below

make sure you are able to run below commands in your cloudera nodes and below command should not get stuck and must return output
"host -t PTR IP"
check  /etc/resolv.conf   should have correct nameserver entries
also try to run below command 
getent hosts ip-10.XXX.-XXX-XXX.eu-west-1.compute.internal 
Port 7182 should be allowed in security group

if you feel your server /etc/resolv.conf is getting corrupt on every restart of ec2 instance then do below

systemctl status  NetworkManager

systemctl stop  NetworkManager

systemctl disable NetworkManager

also your file on ec2 server /etc/sysconfig/network-scripts/ifcfg-eth0 must have  below parameters
DNS1=same nameserver IP as present in /etc/resolv.conf

Error description : 
Detecting Cloudera Manager Server...
BEGIN host -t PTR 1x.xx.xx.xx
;; connection timed out; no servers could be reached
END (1)
BEGIN which python
END (0)
BEGIN python -c 'import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect((sys.argv[1], int(sys.argv[2]))); s.close();' 1x
.xx.xx.xx 7182
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib64/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 110] Connection timed out
END (1)

No comments:

Post a Comment