我正在使用Ubuntu 12.04 LTS在4节点群集上安装CDH4。我能够安装cloudera Manager并在主计算机上启动一个单节点集群。但是,一旦添加了新主机,CM就会说它的运行状况不好,并抛出以下错误:
“从Java进程检查时,此主机的主机名和规范名称不一致。”
我修改了主服务器和所有主机上/ etc / hosts的内容,以包括IP地址,后跟每台计算机的FQDN。我是否还需要设置dns服务器以使其工作?
您不必设置DNS服务器来使它正常工作,但是正向和反向DNS必须明确匹配才能使Hadoop正常运行。
Hadoop操作手册包含good example有关如何编写简单的Java程序以验证您的正向和反向DNS的信息。当然,您可以进一步检测该程序,以在未对齐时帮助您进行调试。
您必须解决此问题,很可能需要将主机条目,NIC配置和/或托管名称服务器中的记录组合在一起。
我有一个相同的问题,我通过应用以下方法解决了它...
运行此命令以检查主机的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中创建主机的cname,就像我们在linux中的hosts文件中创建别名一样
172.*.*.* host1-production.com ip-172-*-*-*.eu-central-1.compute.internal
然后重新启动cloudera-scm代理服务
注:在我的情况下,我使用hosts文件来解析自己的IP地址,并且设置了hosts:nsswitch.conf文件中的dns文件。其余主机通过aws route53解析。
最幸运的人