kyuubi提交任务异常报错Unauthorized connection for super-user from IP

报错信息

kyuubi正常会提交spark session 会到yarn上启动application

此时日志显示连接yarn报错

  • Unauthorized connection for super-user: hive/xxxxx from IP 10.xx.xx.xx, while invoking ApplicationClientProtocolPBClientImpl.getClusterMetrics over rm1 after 6 failover attempts. Trying to failover after sleeping for 27244ms

在这里插入图片描述

查看配置

查看集群配置 core-site.xml
hadoop.proxyuser.hive.hosts 为* 是没有问题的

查看线上加载的配置
在这里插入图片描述

问题原因

线上加载的配置为固定的主机,所以通过这几个主机之外的其他主机不能代理用户提交

proxy user

在kerberos环境下,如果用户需要用其他用户的kerberos凭证来完成认证,此时就需要配置proxy user。

举例:B用户访问开启kerberos的hadoop集群,此时以B用户的名义去访问hadoop集群,仅仅认证信息会使用A用户的认证信息去完成认证。
这时B用户就是proxy

<think>我们正在处理用户关于kyuubi-spark-authz包的信息查询。根据引用[1],我们知道kyuubi-spark-authz是Kyuubi项目的一部分,用于提供Spark的授权功能。在Kyuubi 1.5.2版本中并没有包含这个包,需要从master分支(1.6.0-SNAPSHOT)拉取代码并自行编译打包。 ### 功能 `kyuubi-spark-authz` 是一个Spark插件,用于在Kyuubi服务中为Spark SQL提供细粒度的访问控制。它集成了Apache Ranger来实现基于策略的权限管理。主要功能包括: - 对Spark SQL操作(如SELECT、CREATE、INSERT等)进行权限验证 - 支持数据库、表、列级别的访问控制 - 与Ranger策略管理集成,实现统一的权限管理 ### 使用方法 1. **编译打包**:根据引用[1]中的命令,使用Maven编译打包: ```bash mvn clean package -pl :kyuubi-spark-authz_2.12 -Dspark.version=3.1.2 -Dranger.version=1.2.0 -DskipTests ``` 注意:需要根据实际环境调整Spark版本和Ranger版本。 2. **部署**: - 将生成的jar包(位于`kyuubi-spark-authz/target/`目录下)复制到Kyuubi和Spark的classpath中(例如,Kyuubi的`lib`目录和Spark的`jars`目录)。 -Kyuubi的配置文件`kyuubi-defaults.conf`中启用插件: ```properties kyuubi.engine.spark.extension.jars = /path/to/kyuubi-spark-authz_2.12-1.6.0-SNAPSHOT.jar ``` - 配置Ranger策略(需要预先安装Ranger服务并配置策略)。 3. **配置Ranger**: - 在Ranger中创建服务,并定义针对Spark的访问策略(例如,允许特定用户/组访问某些数据库或表)。 -Kyuubi/Spark侧配置Ranger插件的相关参数,例如Ranger服务的地址。 ### 下载方式 由于`kyuubi-spark-authz`并未发布到Maven中央仓库,因此无法直接下载。用户需要从Kyuubi的GitHub仓库获取源码并自行编译: - 源码地址:https://github.com/apache/kyuubi - 获取master分支代码: ```bash git clone https://github.com/apache/kyuubi.git cd kyuubi ``` ### 注意事项 - 该插件需要与特定版本的Spark和Ranger兼容,编译时需指定版本。 - 目前该插件处于开发阶段(1.6.0-SNAPSHOT),生产环境使用需谨慎。 §§相关问题§§ 1. 如何配置Ranger与Kyuubi-Spark-Authz集成? 2. 除了Ranger,kyuubi-spark-authz还支持其他授权服务吗? 3. 在Kyuubi中使用Spark授权插件有哪些最佳实践?</think>### kyuubi-spark-authz 功能与使用指南 `kyuubi-spark-authz` 是 Apache Kyuubi 项目的子模块,提供基于 Apache Ranger 的细粒度访问控制功能,用于增强 Spark SQL 的权限管理体系。以下是核心信息: #### 功能特性 1. **统一授权管理** 通过集成 Apache Ranger,实现库/表/列级别的访问控制(如 SELECT/INSERT/CREATE 权限),支持 $HDFS$、$Hive$、$Iceberg$ 等数据源[^1][^3]。 2. **动态策略生效** 权限策略变更无需重启 Spark 或 Kyuubi 服务,实时生效。 3. **审计日志** 所有 SQL 操作生成审计日志,记录用户、资源、操作类型等维度信息[^4]。 #### 使用方法 1. **编译打包(需源码构建)** 当前版本(1.5.2)未包含预编译包,需从 master 分支构建[^1]: ```bash mvn clean package -pl :kyuubi-spark-authz_2.12 \ -Dspark.version=3.1.2 \ -Dranger.version=1.2.0 \ -DskipTests ``` 输出路径:`kyuubi-spark-authz/target/kyuubi-spark-authz_2.12-1.6.0-SNAPSHOT.jar` 2. **部署配置** - 将 JAR 放入 Kyuubi 和 Spark 的 classpath(如 `$KYUUBI_HOME/jars/`, `$SPARK_HOME/jars/`) - 在 `kyuubi-defaults.conf` 添加: ```properties kyuubi.engine.spark.extension.jars = /path/to/kyuubi-spark-authz_2.12-*.jar spark.sql.extensions = org.apache.kyuubi.spark.authz.KyuubiAuthzExtension ``` - 配置 Ranger 策略文件(参考 [Ranger 文档](https://ranger.apache.org/)) 3. **权限验证** 用户通过 JDBC 提交查询时,自动触发权限校验: ```sql -- 无权限用户执行将报错 SELECT * FROM sensitive_db.user_table; ``` #### 下载方式 🔶 **无官方预编译包**,需通过以下途径获取: 1. **源码编译** 从 GitHub 拉取最新代码: ```bash git clone https://github.com/apache/kyuubi.git cd kyuubi git checkout master ``` 2. **社区资源** 网易等企业提供定制化版本(需联系厂商获取)[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值