我正在使用Ubuntu 12.04 LTS在4节点集群上安装CDH4。我能够安装cloudera manager并在主机上启动单节点集群。但是,一旦我添加了一个新的主机,CM说它的健康状况不佳并引发以下错误:
“从Java进程检查时,此主机的主机名和规范名称不一致。”
我修改了主服务器和所有主机上/ etc / hosts的内容,以包含IP地址,后跟每台计算机的FQDN。我是否还需要设置dns服务器才能使其正常工作?
答案 0 :(得分:2)
您无需设置DNS服务器即可使其正常工作,但正向和反向DNS必须明确匹配才能使Hadoop正常运行。
Hadoop Operations书中有good example如何编写一个简单的Java程序来验证您的Forward + Reverse DNS是否排成一行。当然,您可以进一步检测此程序,以帮助您在未对齐的情况下进行调试。
如果必须解决此问题,则很可能需要托管名称服务器中的主机条目,NIC配置和/或记录的组合。
答案 1 :(得分:0)
我有一个相同的问题,我通过应用以下方法解决了它...
运行此命令以检查主机的fqdn
python -c "import socket; print socket.getfqdn(); print socket.gethostbyname(socket.getfqdn())"
ip-172-*-*-*.eu-central-1.compute.internal -> "this cause the issue"
172.*.*.*
简单地说,您可以在route53中创建host的cname,就像我们在linux中的hosts文件中创建别名一样
172.*.*.* host1-production.com ip-172-*-*-*.eu-central-1.compute.internal
然后重新启动cloudera-scm代理服务
注意:在我的情况下,我使用hosts文件来解析自己的ip地址,并且我已经在nsswitch.conf文件中设置了hosts:文件dns。主机的其余部分通过aws route53解决。
最幸运的人