在我的群集中,使用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 Metastore正在hive进程中运行并侦听端口9083。 此外,根据配置,hiveserver2默认情况下应该在端口10000上运行,但情况并非如此。
所以我有两个问题 1.为什么有2个不同的配置XML文件? 2.是否有“石蕊”测试来确认蜂巢确实在本地模式下运行? 感谢。
答案 0 :(得分:0)
根据Jira票证Collapse hive.metastore.uris and hive.metastore.local的说明,如果设置了属性hive.metastore.uris
,在您的情况下,Hive Metastore将以远程模式运行。如果未设置属性hive.metastore.uris
,则Hive Metastore将以本地模式运行。
以上也暗示属性hive.metastore.local
从Hive 0.10中移除,这是CDH4中的版本。
答案 1 :(得分: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作业开始旋转,您将看到它是否指向您的cluser上的JobTracker或本地模式。