Azure 配置单元CLI和配置单元服务器2元存储不一致

Azure 配置单元CLI和配置单元服务器2元存储不一致,azure,hadoop,hive,azure-hdinsight,ambari,Azure,Hadoop,Hive,Azure Hdinsight,Ambari,我正在尝试修改现有的Azure HDInsight群集,以指向现有的配置单元元存储(托管在MSSQL实例上)。我已更改了hive-site.xml中的以下参数,以指向现有的元存储: "javax.jdo.option.ConnectionDriverName" : "com.microsoft.sqlserver.jdbc.SQLServerDriver", "javax.jdo.option.ConnectionUserName" : "<<user>>",

我正在尝试修改现有的Azure HDInsight群集,以指向现有的配置单元元存储(托管在MSSQL实例上)。我已更改了hive-site.xml中的以下参数,以指向现有的元存储:

"javax.jdo.option.ConnectionDriverName" : "com.microsoft.sqlserver.jdbc.SQLServerDriver", 
"javax.jdo.option.ConnectionUserName" : "<<user>>",     
"javax.jdo.option.ConnectionPassword" : "<<password>>",   
"javax.jdo.option.ConnectionURL" : "jdbc:sqlserver://<<server>>.database.windows.net:1433;database=HiveMetaStoreEast;user=<<user>>;password=<<password>>;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;" 
“javax.jdo.option.ConnectionDriverName”:“com.microsoft.sqlserver.jdbc.SQLServerDriver”,
“javax.jdo.option.ConnectionUserName”:”,
“javax.jdo.option.ConnectionPassword”:”,
“javax.jdo.option.ConnectionURL”:“jdbc:sqlserver://.database.windows.net:1433;database=HiveMetaStoreEast;user=;password=;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;”
这似乎有些奏效,因为我能够通过直线访问Hive CLI和Hiveserver2。奇怪的是
显示数据库根据所使用的客户端输出不同的结果。我了解到,在启动Hive 0.14(我正在运行)时,可以使用
Hiveserver2 site.xml为Hive/Hiveserver2提供更细粒度的配置,等等。我尝试在
hiveserver2 site.xml
中设置
hive.metastore.uris
参数,以匹配它在
hive site.xml
中显示的内容,但仍然得到相同的奇怪结果


总之,我如何确定Hiveserver2和Hive CLI进程指向相同(且正确)的Metastore URI?

发布此消息后,我在Hortonworks网站上发现了一个类似的线程:

此时会出现驻留在此处(在我的配置单元节点上)的
startHiveserver2.sh.j2
start脚本
/var/lib/ambari agent/cache/common services/HIVE/0.12.0.2.0/package/templates/
包含对
HIVE.metastore.uris
参数的空字符串CLI重写,我认为该参数强制Hiveserver2以本地元存储模式启动,从而在HIVE CLI(使用远程URI)和Beeline(使用本地)之间创建不一致的视图

有关解决不一致性的修补程序,请参见下文:

--- startHiveserver2.sh.j2  2015-11-25 04:06:15.357996439 +0000
+++ /var/lib/ambari-server/resources/common-services/HIVE/0.12.0.2.0/package/templates/startHiveserver2.sh.j2   2015-11-25 03:43:29.837452851 +0000
@@ -20,5 +20,6 @@
#

HIVE_SERVER2_OPTS=" -hiveconf hive.log.file=hiveserver2.log -hiveconf hive.log.dir=$5"
-HIVE_CONF_DIR=$4 {{hive_bin}}/hiveserver2 -hiveconf hive.metastore.uris=" " ${HIVE_SERVER2_OPTS} > $1 2> $2 &
+#HIVE_CONF_DIR=$4 {{hive_bin}}/hiveserver2 -hiveconf hive.metastore.uris=" " ${HIVE_SERVER2_OPTS} > $1 2> $2 &
+HIVE_CONF_DIR=$4 {{hive_bin}}/hiveserver2 ${HIVE_SERVER2_OPTS} > $1 2> $2 &
echo $!|cat>$3