温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-12-13 10:29:30 来源:亿速云 阅读:176 作者:小新 栏目:大数据

这篇文章主要为大家展示了“怎么获取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作业的真实用户”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI