Spark尝试连接到localhost而不是已配置的服务器

时间:2018-01-31 01:40:02

标签: hadoop apache-spark

此错误信息显示:

  

查询错误:org.apache.hadoop.hive.ql.metadata.HiveException:MetaException(消息:异常:java.net.ConnectException从undefined.hostname.localhost / 192.168.xx.xxx调用localhost:9000连接异常失败:java.net.ConnectException:拒绝连接;有关详细信息,请参阅:http://wiki.apache.org/hadoop/ConnectionRefused);

我不明白为什么我会访问localhost:9000,我的core-site.xml中的主机是hdfs://192.168.xx.xx:9000,为什么我访问localhost:9000
它是默认主机吗?

5 个答案:

答案 0 :(得分:0)

请确保您的spark配置目录 / etc / spark / conf / 中存在hive-site.xml,并配置配置单元配置设置。

## core-site.xml 
fs.defaultFS

## Hive config 
hive.metastore.uris

答案 1 :(得分:0)

在hive-site.xml中,您可以配置如下。请配置您的配置单元存储详细信息。

<property>
<name>fs.defaultFS</name>
<value>hdfs://ip-xx.xx.xx.xx:8020</value>
</property>

<property>
<name>hive.metastore.uris</name>
<value>thrift://ip-xx.xx.xx:9083</value>
</property>

<property>
<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://localhost/metastorecreateDatabase
IfNotExist=true</value>
<description>metadata is stored in a MySQL server</description>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>MySQL JDBC driver class</description>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>user name for connecting to mysql server </description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password for connecting to mysql server </description>
</property>
</configuration>

答案 2 :(得分:0)

您的错误与HDFS有关,而不是Hive或SparkSQL

如果您想要连接到正确的Hadoop环境而不是使用默认值,则需要确保HADOOP_HOMEHADOOP_CONF_DIRspark-env.sh中正确设置。

答案 3 :(得分:0)

我在Mysql中重置了Metastore。我当时在我的core-site.xml中使用localhost,我启动了我的Metastore。所以我重置了Metastore,问题就解决了。

答案 4 :(得分:0)

首先,转到mysql命令行,删除您在hive-site.xml中设置的数据库(Metastore)。

然后,将$兑换成$ HIVE_HOME / bin,执行schematool -initSchema -dbType mysql,问题就解决了。由于mysql中的Metastore导致的错误为时已晚(我已在待机环境中设置了Metastore),我稍后转向集群环境,但是Metastore是之前的,所以我可以在hive中创建表,而不是在sparksql中。

感谢帮助我的人。@ Ravikumar,@ cricket_007