如何使用spark2.0连接到远程Hive服务器

时间:2019-07-25 11:49:10

标签: hive

我正在尝试使用spark连接到位于不同群集中的远程配置单元服务器。同时使用了hive2和节俭,但没有运气

val s = SparkSession.builder().appName("Man test").config("hive.metastore.uris", "jdbc:hive2://abc.svr.yy.xxxx.net:2171/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=hive/_HOST@abc.AD.xxx.COM").enableHiveSupport().getOrCreate()

val s = SparkSession.builder().appName("Man test").config("hive.metastore.uris", "thrift://xxxx.svr.us.yyyy.net:2000").config("spark.sql.warehouse.dir", "/apps/hive/warehouse").enableHiveSupport().getOrCreate()
println("in method session created")
s.sql("show databases").show()

使用jdbc:hive2时出现以下错误

  

java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

当我使用节俭时: javax.security.sasl.SaslException:客户端和服务器之间没有公共保护层。

请让我知道我是否在这里遗漏了一些东西。

1 个答案:

答案 0 :(得分:0)

我通过在JVM选项中添加以下内容解决了相同的问题。

-Djavax.security.sasl.qop="auth-conf"

请参阅:https://github.com/prestodb/presto/issues/8604