我正在尝试修改现有的 Azure HDInsight 群集以指向现有的 Hive Metastore(托管在 MSSQL 实例上)。我已更改 hive-site.xml 中的以下参数以指向现有的 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;"
这似乎有点奏效,因为我可以通过 Beeline 访问 Hive CLI 和 Hiveserver2。奇怪的是show databases;
根据所使用的客户端输出不同的结果。我读到从 Hive 0.14 开始(我正在运行),更精细的配置可用于 Hive/Hiveserver2hiveserver2-site.xml
等。我尝试将hive.metastore.uris
参数设置hiveserver2-site.xml
为匹配它显示的内容,hive-site.xml
但仍然得到相同的奇怪结果。
总之,我如何确定 Hiveserver2 和 Hive CLI 进程指向相同(且正确)的 Metastore URI?