背景:

最近在测试华为云DAYU MRS Spark操作Hive的流程,因kerberos认证的问题一直测试失败。

代码示例:
val sparkSession = SparkSession.builder()
      .appName(this.getClass.getSimpleName.filter(!_.equals('$')))
      .enableHiveSupport()
      .getOrCreate()

val sc: SparkContext = sparkSession.sparkContext
sc.setLogLevel("WARN")

sparkSession.sql("show databases").show()

sparkSession.stop()
官网说明:

华为DAYU的MRS Spark默认提交方式为yarn-cluster,因此只能采用命令认证和配置认证。
在这里插入图片描述

测试认证

因配置认证一直没有测试成功,最终选用的命令认证的方式。
(1)将创建用户后得到的user.keytab文件放到服务器的/opt/client/Spark/spark/conf目录下
(2)命令行认证:kinit -kt /opt/client/Spark/spark/conf/user.keytab zyn(zyn为我创建的用户)
(3)上传代码包到DAYU的MRS Spark
(4)运行成功
在这里插入图片描述
在这里插入图片描述

命令认证的优化

(1)将user.keytab放到master节点服务器的某个路径;
(2)创建一个shell链接,运行spark代码前先执行shell脚本;
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐