当我在hive中运行以下查询时:
hive> select count(*) from testsql;
我收到以下错误:
Error
FAILED: RuntimeException java.net.ConnectException: Call From impetus-1466/192.168.49.77 to impetus-1466:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
jps看起来像:
[impadmin@impetus-1466 hadoop-1.0.3.15]$ jps
26380 TaskTracker
26709 Jps
26230 JobTracker
25943 NameNode
我开始了
$ start-all.sh
$ start-dfs.sh
$ start-mapred.sh
怎么能解决这个问题?
由于
答案 0 :(得分:0)
原因是,您的群集中没有数据节点,或者数据节点不知道其名称节点。这可能是namenode格式至少两次的结果。 namenode的集群ID已更改,但此更改未反映到datanode。
以下链接可能会有所帮助: Datanode not starts correctly http://hortonworks.com/community/forums/topic/clusterid-mismatch-for-namenode-and-datanodes-in-fully-distributed-cluster/
答案 1 :(得分:0)
如果您可以打开http://localhost:8088/cluster但无法打开http://localhost:50070/。也许datanode没有启动或namenode没有形成。
并检查hadoop.tmp.dir
中的core-site.xml
,如果未设置,则默认目录为/tmp
,因此请在hadoop.tmp.dir
中设置core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/path/to/hadoop/tmp</value>
</property>
然后停止hadoop并重新格式化hdfs namenode -format
,然后重新启动hadoop。