0

在我使用 CDH 4.2 的集群中,我看到两个不同的 hive-site.xml 文件。1. hive conf 目录中的 hive-site.xml 文件。2.我可以从CDH 4.2的WebUI查看的hive-site.xml文件

我的问题是这两个文件在配置单元执行模式方面具有不同的内容。conf 目录中的 hive-site.xml 文件将执行模式列为“远程”。它具有“false”作为参数的值 - hive.metastore.local,它还将参数 ->hive.metastore.uris 定义为 -

thrift://<machine_name>:9083

但是我可以使用 WebUI 查看的 hive-site.xml 文件将本地模式列为 true 并设置以下参数。

  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:postgresql://<machine_name>:7432/hive</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>org.postgresql.Driver</value>
  </property>

我认为它在本地模式下运行,因为 WebUI 还声明 hive 元存储在 hive 进程中运行并侦听端口 9083。此外,根据配置,默认情况下 hiveserver2 应该在端口 10000 上运行,事实并非如此。

所以我有两个查询 1. 为什么有 2 个不同的配置 XML 文件?2. 是否有“试金石”测试来确认 hive 确实在本地模式下运行?谢谢。

4

2 回答 2

0

一定要确保在 hive-site.xml 中有以下内容。

<property>
    <name> hive.metastore.local</name>
    <value>false</value> 
 </property> 
 <property>
    <name> hive.metastore.uris</name>
 <value>thrift://<hive_metastore_server_host>:9083</value> 
</property>

对于第二个问题,一个好的测试是运行一个快速的配置单元查询。一旦 MR 作业开始启动,您将看到它是指向集群上的 JobTracker 还是本地模式。

于 2013-05-09T12:00:45.683 回答
0

根据 Jira 票证 Collapse hive.metastore.uris 和 hive.metastore.local的解释,如果hive.metastore.uris设置了属性,在您的情况下,Hive 元存储将以远程模式运行。如果hive.metastore.uris未设置该属性,则 Hive Metastore 将以本地模式运行。

上面还暗示该属性hive.metastore.local从 Hive 0.10 开始被删除,这是 CDH4 中的版本。

于 2013-05-08T19:27:03.410 回答