谈谈 Spark 应用日志级别的坑

栏目: 编程工具 · 发布时间: 6年前

内容简介:环境说明:HDP 3.0 + Kerberos + Livy根据第三种方案是我们最不希望看到的选择,因而选择了第一、二两种进行尝试。

环境说明:HDP 3.0 + Kerberos + Livy

根据 Spark 官方文档的指引,清楚的知道存在三种方式可以对应用的日志级别进行调整。

  • upload a custom log4j.properties using spark-submit , by adding it to the --files list of files to be uploaded with the application.
  • add -Dlog4j.configuration=<location of configuration file> to spark.driver.extraJavaOptions (for the driver) or spark.executor.extraJavaOptions (for executors). Note that if using a file, the file: protocol should be explicitly provided, and the file needs to exist locally on all the nodes.
  • update the $SPARK_CONF_DIR/log4j.properties file and it will be automatically uploaded along with the other configurations. Note that other 2 options has higher priority than this option if multiple options are specified.

第三种方案是我们最不希望看到的选择,因而选择了第一、二两种进行尝试。

第一种方案

过程:

  1. 将编辑准备好的 log4j-error.properties 文件上传到 HDFS
  2. 授予接下来启动 Spark 应用的用户读取权限
  3. 启动参数中,添加 "files":["/logfile/log4j-error.properties"] 参数,来指定 log4j.properties 文件路径。
  4. 启动参数中,添加 "spark.driver.extraJavaOptions": "-Dlog4j.configuration=log4j-error.properties","spark.executor.extraJavaOptions": "-Dlog4j.configuration=log4j-error.properties" ,相对路径即可
  5. 使用 Livy 进行启动应用

这里的可能遇到的问题:

  • -files 参数是数组,不是简单的 String
  • spark.driver.extraJavaOptions 用于 Driver 的日志级别文件的指定, "spark.executor.extraJavaOptions 用于 Executor 的日志级别文件的指定。可以单独分别指定,支持相对路径。
  • HDFS 下文件的权限一定要注意

第二种方案

过程:

  1. 将编辑准备好的 log4j-error.properties 文件上传到 Spark Server 所在服务器的 $SPARK_CONF_DIR/ 目录下
  2. 授予 log4j-error.properties 文件读取权限,粗暴一点直接设置为 777
  3. 启动参数中,添加 "spark.driver.extraJavaOptions": "-Dlog4j.configuration=log4j-error.properties","spark.executor.extraJavaOptions": "-Dlog4j.configuration=log4j-error.properties" ,如果相对路径不生效,可以使用绝对路径( file:/spark/conf/log4j-error.properties )
  4. 使用 Livy 进行启动应用

这里的可能遇到的问题:

  • 读取的权限,一定要启动应用的用户拥有权限
  • 所有 Spark 节点下都要有日志文件哦

第三种方案

过程:

HDP Ambari 

这里的可能遇到的问题:

  • 优先级该方案是三者中最低的,前两种都可以覆盖该种方案

谈谈 log4j 配置

自定义某路径下的日志级别

比如:希望 com.zerostech.demo 路径下日志级别为 ERROR

log4j.logger.com.zerostech.demo=ERROR

以上所述就是小编给大家介绍的《谈谈 Spark 应用日志级别的坑》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法之美

算法之美

左飞 / 电子工业出版社 / 2016-3 / 79.00元

《算法之美——隐匿在数据结构背后的原理(C++版)》围绕算法与数据结构这个话题,循序渐进、深入浅出地介绍了现代计算机技术中常用的40 余个经典算法,以及回溯法、分治法、贪婪法和动态规划等算法设计思想。在此过程中,《算法之美——隐匿在数据结构背后的原理(C++版)》也系统地讲解了链表(包括单向链表、单向循环链表和双向循环链表)、栈、队列(包括普通队列和优先级队列)、树(包括二叉树、哈夫曼树、堆、红黑......一起来看看 《算法之美》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码