博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SecurityManager 是什么?有什么作用?
阅读量:4072 次
发布时间:2019-05-25

本文共 1357 字,大约阅读时间需要 4 分钟。

前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见

正文

SecurityManager 主要对账号、权限及身份认证进行设置和管理。

如果 Spark 的部署模式为 YARN ,则需要生成 secret key (密钥)并存入 Hadoop UGI 。

而在其他模式下,则需要设置环境变量 _SPARK_AUTH_SECRET (优先级更高)或 spark.authenticate.secret 属性指定 secret key (密钥)。

SecurityManager 还会给当前系统设置默认的口令认证实例。

SecurityManager 源码类注释 (3.2.0-SNAPSHOT)

/** * spark 中负责安全的类。  *  * 一般来说,这个类应该由SparkEnv实例化,大多数组件应该从SparkEnv访问它。 *  * 有些情况下SparkEnv还没有初始化,必须直接实例化这个类。  *  * 此类实现了与“Security”文档中描述的安全特性相关的所有配置。 *  * 请参阅该文档以了解此处实现的特定功能。 *  * @param sparkConf Spark 的配置对象  * @param ioEncryptionKey IO 加密密钥字节数组 * @param authSecretFileConf 来自配置项:spark.authenticate.secret.driver.file(Driver)或者 spark.authenticate.secret.executor.file(Executor) */private[spark] class SecurityManager(    sparkConf: SparkConf,    val ioEncryptionKey: Option[Array[Byte]] = None,    authSecretFileConf: ConfigEntry[Option[String]] = AUTH_SECRET_FILE)  extends Logging with SecretKeyHolder

SecretKeyHolder 源码解读(3.2.0-SNAPSHOT)

package org.apache.spark.network.sasl;/** * 用于获取与某个应用程序相关联的密钥的接口。 */public interface SecretKeyHolder {
/** * 获取给定appId的合适的SASL用户。 * @throws IllegalArgumentException 如果给定的appId未与SASL用户关联 */ String getSaslUser(String appId); /** * 获取给定appId的适当SASL密钥。 * @throws IllegalArgumentException 如果给定的appId未与SASL密钥关联。 */ String getSecretKey(String appId);}

转载地址:http://gkgji.baihongyu.com/

你可能感兴趣的文章
分布式存储系统设计(1)—— 系统架构
查看>>
MySQL数据库的高可用方案总结
查看>>
常用排序算法总结(一) 比较算法总结
查看>>
SSH原理与运用
查看>>
SIGN UP BEC2
查看>>
S3C2440中对LED驱动电路的理解
查看>>
《天亮了》韩红
查看>>
Windows CE下USB摄像头驱动开发(以OV511为例,附带全部源代码以及讲解) [转]
查看>>
出现( linker command failed with exit code 1)错误总结
查看>>
iOS开发中一些常见的并行处理
查看>>
iOS获取手机的Mac地址
查看>>
ios7.1发布企业证书测试包的问题
查看>>
如何自定义iOS中的控件
查看>>
iOS 开发百问
查看>>
Mac环境下svn的使用
查看>>
github简单使用教程
查看>>
如何高效利用GitHub
查看>>
环境分支-git版本管理
查看>>
uni-app 全局变量
查看>>
js判断空对象的几种方法
查看>>