2014-02-07 155 views
0

我有一个HIVE表称为TESTDATA和列如下蜂巢查询给错误

  1. 年龄
  2. 性别

从当我发出蜂巢提示命令“select * from testdata”,它显示了整个数据集。但是,当我发出命令从testdata选择名称,它显示我的错误

java.net.NoRouteToHostException:没有路由到主机从[NAMENODE_IP]到[CLUSTER_IP]:35946套接字超时失败:java异常。 net.NoRouteToHostException:没有路由到主机;欲了解更多详情,请参阅:http://wiki.apache.org/hadoop/NoRouteToHost

任何人都可以请帮我找出究竟我做错了什么。

我的Hadoop版本是2.2.0和蜂巢版本是0.11.0

回答

0

您需要正确的相关Hadoop配置。看来,配置单元不能连接jobtracker。

当您查询select * from testdata时,配置单元没有使用mapreduce来获取结果。

当您查询select name from testdata时,hive将调用hadoop启动mapreduce作业。

所以,让你的hadoop配置正确。

1

检查您的'主机'文件,系统的当前IP应该是您的主机文件中的第一个条目。

1

我遇到了同样的麻烦,所以我想我会告诉你们我做了什么来解决这个问题。

1)禁止在名称节点上的防火墙,看看它是否工作

2)如果是的话那么你的防火墙阻止节点之间的网络讨论。您必须手动添加规则,让你的名字节点之间的连接IPS

你可以找到如何与iptables的这个非常详细的解答这里 https://serverfault.com/questions/30026/whitelist-allowed-ips-in-out-using-iptables/30031#30031

这样做