【问题标题】:java.net.ConnectException: Connection refused error when running Hivejava.net.ConnectException:运行 Hive 时连接被拒绝错误
【发布时间】:2019-06-27 15:38:46
【问题描述】:

我正在尝试通过一个蜂巢教程工作,我在其中输入以下内容:

load data local inpath '/usr/local/Cellar/hive/0.11.0/libexec/examples/files/kv1.txt' overwrite into table pokes;

这会导致以下错误:

FAILED: RuntimeException java.net.ConnectException: Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused

我看到有一些关于 SA 的回复与配置我的 ip 地址和本地主机有关,但我不熟悉答案中的概念。如果您能告诉我关于导致这种答案的基本原理以及如何解决它,我将不胜感激。谢谢!

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:

    这是因为 hive 无法联系到您的namenode

    检查您的hadoop 服务是否已正常启动。

    运行命令jps查看所有服务正在运行。

    【讨论】:

    • 感谢您的回复。从 $jps 我得到:“26349 Jps”。
    • 这意味着您的所有 hadoop 服务都没有运行。你配置hadoop了吗?
    • 谢谢。我想我明白了——当你启动 hive 时,你必须首先运行 start-all.sh 脚本,对吗?一旦我这样做了,我就得到了完整的 jps 服务名册,并且 ConnectException 消失了。我将 start-all.sh 误读为在初始设置期间只需执行一次。
    • 你是对的 :) start-all 将启动所有的 hadoop 服务。我建议你分别启动namenode和datanode并运行start-mapred.sh。通过这种方式,您可以轻松查看这些节点中发生的情况。这将帮助您调试。
    【解决方案2】:

    您收到此错误的原因是 Hive 需要 hadoop 作为其基础。所以,你需要先启动 Hadoop。

    这里有一些步骤。

    Step1:下载hadoop并解压

    第二步:cd #your_hadoop_path

    第三步:./bin/hadoop namenode -format

    第四步:./sbin/start-all.sh

    然后,返回 #your_hive_path 并重新启动 hive

    【讨论】:

    • 一个人不会简单地在 4 个步骤中安装 hadoop 哈哈
    【解决方案3】:

    我发现编辑 /etc/hosts 文件的简单方法。默认看起来像

    127.0.0.1    localhost
    127.0.1.1    user_user_name
    

    只需编辑并制作 127.0.1.1 到 127.0.0.1 即可,重启你的 shell 并通过 start-all.sh 重启你的集群

    【讨论】:

      【解决方案4】:

      设置 hive 时出现同样的问题。 通过更改我的 /etc/hostname 解决

      以前是我的 user_machine_name 我把它改成localhost后就顺利了

      我猜这是因为 hadoop 可能希望使用这个 /etc/hostname 文件解析您的主机名,但是当 hadoop 服务在 localhost 上运行时,它会将其定向到您的 user_machine_name

      【讨论】:

        【解决方案5】:

        我可以通过执行以下命令来解决问题:

        start-all.sh
        

        这将确保 Hive 服务已启动。

        然后启动 Hive 是直截了当的。

        【讨论】:

          【解决方案6】:

          我遇到了类似的连接超时问题:

          WARN DFSClient: Failed to connect to /10.165.0.27:50010 for block, add to deadNodes and continue. java.net.ConnectException: Connection timed out: no further information
          

          DFSClient 正在通过内部 IP 解析节点。这是解决方案:

          .config("spark.hadoop.dfs.client.use.datanode.hostname", "true")
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-05-18
            • 2018-06-10
            • 2021-06-24
            • 2023-03-21
            • 2017-08-10
            • 1970-01-01
            • 2014-11-01
            相关资源
            最近更新 更多