怎么获取CDSW上提交Spark作业的真实用户

这篇文章主要为大家展示了“怎么获取CDSW上提交Spark作业的真实用户”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么获取CDSW上提交Spark作业的真实用户”这篇文章吧。

十多年专注成都网站制作,成都定制网站,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都定制网站,高端网页制作,对成都水处理设备等多个领域,拥有丰富设计经验。

异常描述      

在一个CDSW环境中,由于其中一个租户经常提交大型Spark作业将YARN上租户所在的资源池资源用到95%以上,从而影响到同一租户下其他用户提交作业的运行。这种情况下我们没办法直接找到这些大型作业的实际提交人,是因为我们在为CDSW做多租户配置的时候会将登录CDSW的某一批用户统一绑定到同一个租户下(这样设计的目的主要是为了简化YARN的租户管理,而不用为每个用户创建资源池队列),所以导致在YARN的界面上看到的都是同一个租户,而无法对应到实际CDSW的用户以及这个人提交的大型作业。本文主要描述通过修改Spark的配置来将作业的实际提交人的用户名展示到Spark UI,非CDSW的YARN的多租户管理也会碰到类似问题。

异常解决      
   

1.登录CM界面,进入Spark2的实例界面,将Gateway角色分组,将CDSW所在主机的Gateway角色分到另外的组

怎么获取CDSW上提交Spark作业的真实用户

怎么获取CDSW上提交Spark作业的真实用户

怎么获取CDSW上提交Spark作业的真实用户

怎么获取CDSW上提交Spark作业的真实用户

怎么获取CDSW上提交Spark作业的真实用户

2.进入Spark2的配置页面,修改“spark-conf/spark-env.sh 的 Spark 客户端高级配置代码段(安全阀)”这一参数,选择编辑单个值,修改CDSW Gateway角色组的配置,填入如下内容:

SPARK_CONF=/home/cdsw/spark-defaults.conf

if [ ! -f "$SPARK_CONF" ]; then
  touch "$SPARK_CONF"
fi

str=`cat $SPARK_CONF | grep spark.app.real.username`

if [ -z "$str" ];then
  echo -e "\nspark.app.real.username=${GIT_AUTHOR_NAME}" >> $SPARK_CONF
fi

怎么获取CDSW上提交Spark作业的真实用户

3.修改完配置后点击“保存更改”,根据提示重启相关服务(此步骤会涉及到CDSW服务重启)

怎么获取CDSW上提交Spark作业的真实用户

验证    

   

   

   

1.使用user1用户登录CDSW

怎么获取CDSW上提交Spark作业的真实用户

2.运行一个示例PySpark程序

怎么获取CDSW上提交Spark作业的真实用户

3.在SparkUI上找到该作业,并点击“Environment”,可以看到参数列表中打印了提交Spark作业的用户

怎么获取CDSW上提交Spark作业的真实用户


以上是“怎么获取CDSW上提交Spark作业的真实用户”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网页名称:怎么获取CDSW上提交Spark作业的真实用户
文章分享:http://azwzsj.com/article/psiihp.html