MAPREDUCE服务 MRS-Spark常用配置参数:Spark长时间任务安全认证配置
Spark长时间任务安全认证配置
安全模式下,使用Spark CLI(如spark shell、spark sql、spark submit)时,如果使用kinit命令进行安全认证,当执行长时间运行任务时,会因为认证过期导致任务失败。
在客户端的“{客户端安装目录}/Spark/spark/conf/spark-defaults.conf”配置文件中设置如下参数,配置完成后,重新执行Spark CLI即可。

当参数值为“true”时,需要保证“spark-defaults.conf”和“hive-site.xml”中的Keytab和principal的值相同。
参数名称 |
含义 |
取值示例 |
---|---|---|
spark.kerberos.principal |
具有Spark操作权限的principal。请联系 MRS 集群管理员获取对应principal。 |
- |
spark.kerberos.keytab |
具有Spark操作权限的Keytab文件名称和文件路径。请联系MRS集群管理员获取对应Keytab文件。 |
- |
spark.security.bigdata.loginOnce |
Principal用户是否只登录一次。true为单次登录;false为多次登录。 单次登录与多次登录的区别在于:Spark社区使用多次Kerberos用户登录多次的方案,但容易出现TGT过期或者Token过期异常导致应用无法长时间运行。MRS修改了Kerberos登录方式,只允许用户登录一次,可以有效的解决过期问题。限制在于,Hive相关的principal与keytab的配置项必须与Spark配置相同。
说明:
当参数值为true时,需要保证“spark-defaults.conf”和“hive-site.xml”中的Keytab和principal的值相同。 |
true |