【发布时间】:2023-11-14 02:53:01
【问题描述】:
获取以下错误堆栈:
无法在集群中创建 Spark 会话: 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671) 在 org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:160) 在 org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205) 在 org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:120) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) ) 在 org.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(HiveMetaStoreClient.java:466) 在 org.apache.hadoop.hive.metastore.HiveMetaStoreClient.(HiveMetaStoreClient.java:234) 在 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.(SessionHiveMetaStoreClient.java:74) ... 35 更多
我的理解是应该启用 hive.server2.enable.impersonation 和 hive.server2.enable.doAs 以使 UserGroupInformation.doAs() 工作?
当我尝试启用这些参数时,Cloudera Manager 显示错误
已为 Hive Server2 角色“HiveServer2”启用 Hive 模拟 (主机名)'。应禁用 Hive 模拟以启用 Hive 使用 Sentry 授权
所以 Spark-Hive 与 Sentry 冲突!?
环境:Hue 3.9 Spark Notebooks + Livy Server(由 master 构建)。 CDH 5.5。
这是一个带有 Sentry 的 kerberized 集群。
我使用hue的keytab,因为hue用户通常(默认在CDH中)被允许模拟其他用户。 Spark Notebooks 非常方便。
任何有助于解决此问题的信息将不胜感激。
【问题讨论】:
标签: apache-spark hive kerberos hue apache-sentry