clouderacdh4:无法将主机添加到我的集群,因为规范名称与主机名不一致

ncecgwcz  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(383)

我正在使用Ubuntu12.04 lts在4节点集群上安装cdh4。我能够安装cloudera manager并在主计算机上启动一个单节点集群。但是,一旦我添加了一个新主机,cm就会说它的运行状况不好,并抛出以下错误:
“从java进程检查时,此主机的主机名和规范名称不一致。”
我修改了主机和所有主机上的/etc/hosts的内容,使之包含ip地址,后跟每台机器的fqdn。我是否也需要设置一个dns服务器来让这个工作?

yqyhoc1h

yqyhoc1h1#

我有一个同样的问题,我通过应用以下东西来解决它。。。
运行此命令检查主机的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地址,并且在nsswitch.conf文件中设置了hosts:filedns。其余主机由aws路由53解析。
祝你们好运

9q78igpj

9q78igpj2#

您不必设置一个dns服务器来让它工作,但是正向和反向dns必须显式匹配,hadoop才能正常工作。
hadoop操作手册中有一个很好的例子,说明了如何编写一个简单的java程序来验证前向+反向dns的排列。当然,您可以进一步插入这个程序,以帮助您在它们没有对齐的情况下进行调试。
如果必须解决此问题,则很可能需要主机条目、nic配置和/或托管名称服务器中的记录的组合。

相关问题