networking - Hadoop Datanodes找不到NameNode

标签 networking ubuntu hadoop port

我在 VirtualBox 中设置了一个分布式 Hadoop 环境:4 个虚拟 Ubuntu 11.10 安装,一个作为主节点,另外三个作为从属节点。我关注了this tutorial启动并运行单节点版本,然后转换为完全分布式版本。当我运行 11.04 时它工作得很好;然而,当我升级到 11.10 时,它坏了。现在我所有的奴隶日志都显示以下错误信息,重复得令人作呕:

INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.1.10:54310. Already tried 0 time(s).
INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.1.10:54310. Already tried 1 time(s).
INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.1.10:54310. Already tried 2 time(s).

等等。我在 Internet 上发现了此错误消息的其他实例(和 StackOverflow ),但没有一个解决方案有效(尝试将 core-site.xml 和 mapred-site.xml 条目更改为 IP 地址而不是主机名; 四重检查 /etc/hosts 在所有从机和主机上;主机可以 SSH 无密码进入所有从机)。我什至尝试将每个从节点恢复为单节点设置,在这种情况下它们都可以正常工作(注意,主节点作为数据节点和名称节点总是可以正常工作)。

我发现的唯一一个似乎可以提供线索的症状是,当我尝试 telnet 192.168.1.10 54310 时,从任何从属服务器那里,我得到 Connection refused,提示有一些规则阻止访问(这一定是在我升级到 11.10 时生效的)。

不过,我的 /etc/hosts.allow 没有改变。我尝试了规则 ALL: 192.168.1.,但它没有改变行为。

哦,是的,master 上的 netstat 清楚地显示 tcp 端口 54310 和 54311 正在监听。

有人对让从数据节点识别名称节点有任何建议吗?

编辑 #1:在使用 nmap 进行一些探索时(请参阅这篇文章的评论),我认为问题出在我的 /etc/hosts 文件中.这是为主 VM 列出的内容:

127.0.0.1    localhost
127.0.1.1    master
192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2
192.168.1.13 slave3

对于每个从虚拟机:

127.0.0.1    localhost
127.0.1.1    slaveX
192.168.1.10 master
192.168.1.1X slaveX

不幸的是,我不确定我更改了什么,但 NameNode 现在总是死机,除了尝试绑定(bind)一个“已在使用”的端口 (127.0.1.1:54310)。我显然在主机名和 IP 地址上做错了,但我真的不确定它是什么。想法?

最佳答案

我找到了!通过注释掉 /etc/hosts 文件的第二行(带有 127.0.1.1 条目的那一行),netstat 显示了 NameNode 端口绑定(bind)到 192.168.1.10 地址而不是本地地址,从属 VM 找到了它。啊啊啊啊。谜团已揭开!感谢大家的帮助。

关于networking - Hadoop Datanodes找不到NameNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8872807/

相关文章:

c# - 两个 C# 应用程序如何通过 WiFi 网络发送消息?

python - 过滤权重低于阈值的边时出现运行时错误 - Networkx

networking - kubernetes:主机外部无法访问服务

postgresql - Postgres 数据库文件保存在 ubuntu 中的什么地方?

xml - 在 Spring-Boot Intro 之后, "Unable to find a suitable main class, please add a ' mainClass 的属性“

apache-spark - Apache Yarn - 分配比物理内存或 RAM 更多的内存

mysql - 如何将大型 mysql 转储导入 hadoop?

java - 在Java中,如何实现UDP端口扫描?

ubuntu 上的 django

hadoop - 如何加快 hive 中的排序