我正在尝试在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在很大程度上依赖于能够对主机名执行正向和反向查找:
对于本地安装,我建议使用
/etc/hosts
,因为该文件中的条目为每个条目提供了正向和反向查找。群集中的所有节点都必须能够解析群集中所有其他服务器的主机名,因此,每个服务器上的/etc/hosts
文件必须包含群集中每个Vbox VM的所有IP->主机名条目。hadoop看到的主机名是服务器上
hostname --fqdn
的输出。因此,您的/etc/hosts
文件应同时包含hostname
和hostname --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/