我正在尝试在VM上安装本地群集。当我打开Cloudera Manager时,有时主机运行状况检查显示为失败,并且错误消息基本上显示为“DNS解析失败”。有时HDFS服务显示为失败。我只是想在其他途径上解决一些问题。我相当确定这是与hosts文件有关的事情或与DNS有关的事情。我的操作系统是Ubuntu。

到目前为止,我已经编辑了/ etc / hosts以具有运行ifconfig时获得的确切ipv4地址。

10.2.0.15  michael-VirtualBox

我删除了条目
127.0.0.1 localhost
我还重新启动了网络服务。我执行了命令
"python -c "import socket; print socket.getfqdn(); print socket.gethostbyname(socket.getfqdn())""
我回来了
127.0.0.1localhost

最佳答案

hadoop在很大程度上依赖于能够对主机名执行正向和反向查找:

  • 将主机名解析为IP(正向查找-DNS A记录)
  • 将IP解析为主机名(反向查找-DNS PTR记录)

  • 对于本地安装,我建议使用/etc/hosts,因为该文件中的条目为每个条目提供了正向和反向查找。群集中的所有节点都必须能够解析群集中所有其他服务器的主机名,因此,每个服务器上的/etc/hosts文件必须包含群集中每个Vbox VM的所有IP->主机名条目。

    hadoop看到的主机名是服务器上hostname --fqdn的输出。因此,您的/etc/hosts文件应同时包含hostnamehostname --fqdn的输出,例如
    127.0.0.1  localhost
    10.2.0.15  server1 server1.example.com
    10.2.0.16  server2 server2.example.com
    10.2.0.17  server3 server3.example.com
    10.2.0.18  server4 server4.example.com
    

    我假设您对每个节点使用host-only网络配置,并且所有节点都可以互相访问。

    如果您使用的是cloudera,请确保在更改cloudera-scm-agent后重新启动/etc/hosts

    关于hadoop - Hadoop DNS解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35472852/

    10-13 07:35