Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 失败:元数据中出错:MetaException(消息:Get exception:java.net.ConnectException调用localhost/127.0.0.1:54310失败_Hadoop_Hive - Fatal编程技术网

Hadoop 失败:元数据中出错:MetaException(消息:Get exception:java.net.ConnectException调用localhost/127.0.0.1:54310失败

Hadoop 失败:元数据中出错:MetaException(消息:Get exception:java.net.ConnectException调用localhost/127.0.0.1:54310失败,hadoop,hive,Hadoop,Hive,我使用的是Ubuntu 12.04、hadoop-0.23.5、hive-0.9.0。 我在HIVE-site.xml中将我的metastore\u db单独指定到另一个位置$HIVE\u HOME/my\u db/metastore\u db Hadoop运行良好,jps提供ResourceManager、NameNode、DataNode、NodeManager、SecondaryNameNode 配置单元启动得很好,还创建了metastore_db&derby.log,并且所有配置单元命令

我使用的是Ubuntu 12.04、hadoop-0.23.5、hive-0.9.0。 我在HIVE-site.xml中将我的metastore\u db单独指定到另一个位置
$HIVE\u HOME/my\u db/metastore\u db

Hadoop运行良好,
jps
提供ResourceManager、NameNode、DataNode、NodeManager、SecondaryNameNode

配置单元启动得很好,还创建了metastore_db&derby.log,并且所有配置单元命令都成功运行,我可以创建数据库、表等。但几天后,当我运行
显示数据库
显示表
时,会出现以下错误

FAILED: Error in metadata: MetaException(message:Got exception:  java.net.ConnectException Call to localhost/127.0.0.1:54310 failed on connection exception: java.net.ConnectException: Connection refused) FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
原因

  • 如果更改了Hadoop/Hive版本,则可能指定了以前的Hadoop版本(具有
    ds.default.name
    =
    hdfs://localhost:54310
    在core-site.xml中)中,在您的hive-0.9.0/conf/hive-env.sh中 文件
  • $HADOOP_HOME可能指向其他位置
  • 指定的Hadoop版本不起作用
  • 您的namenode可能处于安全模式,请运行
    bin/hdfs dfsadmin-safemode leave
    bin/hadoop dsfadmin-safemode leave

  • 我也有这个问题,接受的答案对我没有帮助,因此我将在这里为其他人添加我的解决方案:

    我的问题是,我有一台安装了hive的伪分布式设置的机器。它使用localhost作为主机名运行得很好。但是,当我们决定向集群添加多台机器时,我们还决定为这些机器指定适当的名称“machine01、machine 02等”

    我也更改了所有hadoop
    conf/*-site.xml
    文件和
    hive site.xml
    文件,但仍然存在错误。经过彻底的研究,我意识到在metastore db中,hive不是从*-site文件中提取URI,而是从mysql中的metastore表中提取URI。保存所有hive表元数据的地方是两个表在分别将表DBS和SDS中的DB_LOCATION_URI列和LOCATION更改为指向最新的namenode URI后,我又开始工作了


    希望这对其他人有帮助。

    以防重新安装
    上述问题可能是名称节点问题的影响

    尝试使用命令格式化namenode

    hadoop namenode -format
    

    1.从安全模式关闭namenode。请尝试以下命令:

    hadoop dfsadmin -safemode leave
    
    2.重新启动Hadoop守护进程:

    sudo service hadoop-master stop
    
    sudo service hadoop-master start
    

    在没有确凿理由的情况下格式化namenode会带来麻烦。您可以在本地计算机上多次执行此操作,但在生产环境中则不行。由于我刚设置了群集,这实际上起到了作用。thanksi面临类似问题。我的守护进程正在按预期运行。我的namenode未处于安全模式,但我仍然面临此问题。Explanation?这相当于“打开和关闭机器”