Hadoop DNS 解析

标签 hadoop dns cloudera cloudera-cdh hosts

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

到目前为止,我已经编辑/etc/hosts 以获得我通过运行 ifconfig 获得的确切 ipv4 地址

10.2.0.15  michael-VirtualBox

我删除了条目

127.0.0.1 本地主机

我还重新启动了网络服务。我执行了命令

“python -c”导入套接字;打印 socket.getfqdn();打印 socket.gethostbyname(socket.getfqdn())""

我回来了

127.0.0.1 本地主机

最佳答案

hadoop 严重依赖于能够执行主机名的正向和反向查找:

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

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

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,请务必在对 /etc/hosts 进行更改后重新启动 cloudera-scm-agent

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

相关文章:

security - iframe 和 ssl 安全

java - 历史服务器未在 cloudera Hadoop 上启动

hadoop - 为大数据项目选择 Hadoop 解决方案 - 定价选项

hadoop - 在Oozieworkflow.xml中无法识别SequenceFile输入格式?

giraph 作业完成后,内存不会被释放

hadoop - GridGain Hadoop加速器:Jobtracker不在Hadoop集群中启动

java - Spark 异常 : local class incompatible

python - 在文件夹中使用Python库进行Hive转换

amazon-web-services - 有多个子域引用没有 HTTP 重定向的同一个 S3 存储桶

asp.net-mvc - 如何使用单个 ASP.NET MVC 应用程序为多个域提供服务?