2015-11-25 3 views
0

Я пытаюсь изменить существующий кластер Azure HDInsight, чтобы указать на существующий Hive Metastore (размещенный на экземпляре MSSQL). Я изменил следующие параметры в улье-site.xml, чтобы указать на существующий Metastore:Hive CLI и Hiveserver2 Несогласованный Metastore

"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;" 

Это кажется, что несколько работали, как я могу получить доступ как улей CLI и Hiveserver2 через Билайн. Странная вещь show databases; выводит разные результаты в зависимости от используемого клиента. Я прочитал, что начиная с Hive 0.14 (который я запускаю) более гранулированная конфигурация доступна для Hive/Hiveserver2 с использованием hiveserver2-site.xml и т. Д. Я пробовал установить параметр hive.metastore.uris в hiveserver2-site.xml, чтобы он соответствовал тому, что он показывает в hive-site.xml, но все равно получайте то же самое странное Результаты.

Итак, как я могу точно знать, что процессы Hiveserver2 и Hive CLI указываются на одинаковые (и правильные) URI метастара?

ответ

0

Сразу после размещения этого я нашел подобный поток на сайте Hortonworks: http://hortonworks.com/community/forums/topic/configuration-of-hiveserver2-to-use-a-remote-metastore-server/#post-81960

Он появляется в startHiveserver2.sh.j2 сценарий запуска, проживающее здесь (на моих Hive узлов) /var/lib/ambari-agent/cache/common-services/HIVE/0.12.0.2.0/package/templates/ содержит пустую строку CLI переопределения параметра hive.metastore.uris, который Я считаю, что Hiveserver2 запускается в локальном метасторе и, следовательно, создает противоречивые представления между HI 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 
Смежные вопросы