在使用CDH 4.2的集群中,我看到了两个不同的hive-site.xml文件。
1. hive conf目录中的hive-site.xml文件。
2.我可以从CDH 4.2的WebUI查看的hive-site.xml文件
我的问题是,根据配置单元执行模式,这两个文件都具有不同的内容。
conf目录中的hive-site.xml文件将执行模式列为“远程”。它的参数值“hive.metastore.local”为“false”,并且还将参数-> 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还指出,配置单元metastore在配置单元进程中运行并且正在侦听端口9083。
此外,根据配置,默认情况下,hiveserver2应该在端口10000上运行,事实并非如此。
所以我有两个查询
1.为什么会有2个不同的配置XML文件?
2.是否有一个“石蕊”测试来确认配置单元确实在本地模式下运行?
谢谢。
最佳答案
根据对Jira票证Collapse hive.metastore.uris and hive.metastore.local的解释,如果设置了hive.metastore.uris
属性,则在您的情况下,Hive元存储将在远程模式下运行。如果未设置属性hive.metastore.uris
,则Hive Metastore将在本地模式下运行。
上面的内容还暗示,从Hive 0.10(CDH4中的版本)开始,删除了hive.metastore.local
属性。