spark log4j日志文件动态参数读取

需要在log4j xml文件中设置动态参数,并支持spark任务在集群模式下,动态参数读取正常;

1.log4j配置文件 log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info" name="Log-Appender-Config" ><Properties><Property name="logServerHost">${sys:logServer}</Property><Property name="logServerPort">${sys:logServerPort}</Property></Properties><Appenders><Socket name="Socket" host="${logServerHost}" port="${logServerPort}" ><PatternLayout pattern="%d{HH:mm:ss.SSS} %-5p [%-t] - %m%n"/><ThresholdFilter level="info" /></Socket><Async name="Async"><AppenderRef ref="Socket"/></Async><Console name="stdout" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} %-5p [%-7t] %F:%L - %m%n"/><ThresholdFilter level="info" /></Console></Appenders><Loggers><Logger name="org.apache.spark" level="info" additivity="false"><AppenderRef ref="Socket"/></Logger><Root level="info"><AppenderRef ref="stdout"/></Root></Loggers>
</Configuration>

spark 配置log4j2.xml,并设置了两个动态参数,logServer和logServerPort;

spark提交任务后driver和executer均需要获取上述参数初始化日志配置;

2.driver和executer获取参数方式

--conf "spark.driver.extraJavaOptions=-DlogServer=127.0.0.1 -DlogServerPort=60201" --conf "spark.executor.extraJavaOptions=-DlogServer=127.0.0.1 -DlogServerPort=60201"

spark提交任务时设定动态参数值,给driver和executer设置额外jvm参数;

注意:

参数key命名不要以spark*开头,会被spark认为是内部变量,在Spark中,spark.executor.extraJavaOptions是用来为Executor进程设置额外的JVM选项的,但不包括Spark的内部配置选项;

错误示例如下:

Caused by: java.lang.Exception: spark.executor.extraJavaOptions is not allowed to set Spark options (was '-Dspark.log.server=127.0.0.1 -Dspark.log.server.port=60201'). Set them directly on a SparkConf or in a properties file when using ./bin/spark-submit.

将上述key名spark.log.server和spark.log.server.port修改为非spark开头即可;

参考:

https://www.cnblogs.com/yanhuahayi/p/14297615.html

Log4j2.xml中动态读取配置_log4j2 动态属性读取-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/784232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cuda cudnn pytorch 的下载方法(anaconda)

文章目录 前言cuda查看当前可支持的最高cuda版本显卡驱动更新下载cuda cudnnpytorch配置虚拟环境创建虚拟环境激活虚拟环境 1.直接下载2.conda 下载(清华源&#xff0c;下载速度慢的看过来)添加清华镜像channel下载下载失败 下载失败解决办法1.浑水摸鱼&#xff0c;风浪越大鱼越…

五、Yocto集成QT5(基于Raspberrypi 4B)

Yocto集成QT5 本篇文章为基于raspberrypi 4B单板的yocto实战系列的第五篇文章&#xff1a; 一、yocto 编译raspberrypi 4B并启动 二、yocto 集成ros2(基于raspberrypi 4B) 三、Yocto创建自定义的layer和image 四、Yocto创建静态IP和VLAN 本章节实操代码请查看github仓库&…

数据可视化-Python

师从黑马程序员 Json的应用 Json的概念 Json的作用 Json格式数据转化 Python数据和Json数据的相互转化 注&#xff1a;把字典列表变为字符串用dumps,把字符串还原回字典或列表用loads import json#准备列表&#xff0c;列表内每一个元素都是字典&#xff0c;将其转化为Json …

python实战之常用内置模块

一. 数学计算模块(math) 二. 日期时间模块(datetime) 1. datetime类 datetime类的常用方法 2. date类 1. date类的常用方法 3. time类 4. 计算时间跨度类(timedelta) 5. 日期时间与字符串相互转换 1. 日期和时间格式控制符 三. 正则表达式模块(re) 正则表达式指预先定义好一个’…

CCF-CSP26<2022-06>-第1/2/3题

202206-1 归一化处理 题目&#xff1a;202206-1 题目分析&#xff1a; 给出了数学上归一化的数学公式&#xff0c;直接按照要求完成即可。 AC代码&#xff1a; #include <bits/stdc.h> using namespace std; int main() {int n;cin >> n;double a[n];double s…

吴恩达:现在做GPT-4智能体,或将提前达到GPT-5效果|钛媒体AGI

斯坦福大学客座教授吴恩达&#xff08;Andrew Ng&#xff09;© 林志佳 美国斯坦福大学教授吴恩达&#xff08;Andrew Ng&#xff09; 人工智能智能体&#xff08;AI Agents&#xff09;似乎将引领 AI 行业新的发展趋势。 近日红杉资本&#xff08;Sequoia&#xff09;在…

微信小程序(黑马优购:商品列表)

1.渲染商品列表并美化布局 <view class"goods-list"><block v-for"(goods,i) in goodsList" :key"i"><view class"goods-item"><!-- 左侧的盒子 --><view class"goods-item-left"><image …

全面概述Gitee和GitHub生成/添加SSH公钥

前言 现如今将代码开源已经成为软件开发行业的一种趋势&#xff0c;而现在比较有名的代码托管平台有GItHub、Gitee、Gitlab等相关平台。而我们在使用代码托管平台最为常见的就是如何将自己本地的代码推送到远程托管平台中的仓库中&#xff0c;现如今各大托管平台基本上都提供了…

Mac m1 Flink的HelloWorld

首先在官方下载Downloads | Apache Flink 下载好压缩包后解压&#xff0c;得到Flink文件夹 进入&#xff1a;cd flink-1.19.0 ls 查看里面的文件&#xff1a; 执行启动集群 ./bin/start-cluster.sh 输出显示它已经成功地启动了集群&#xff0c;并且正在启动 standalonesessio…

简单了解HTTP和HTTPS

HTTP的安全问题&#xff1f; 我们都知道HTTP是不安全的&#xff0c;而HTTPS是安全的&#xff0c;那HTTP有哪些安全问题呢&#xff1f;&#xff08;考虑传输过程以及响应方&#xff09; 明文传输&#xff0c;有窃听风险&#xff1a;HTTP协议无法加密数据&#xff0c;所有通信数…

云计算探索-剖析虚拟化技术

引言 虚拟化技术&#xff0c;作为现代信息技术架构的核心构成元素&#xff0c;以其独特的资源抽象与模拟机制&#xff0c;成功地瓦解了物理硬件与操作系统间的刚性连接&#xff0c;开创了一个资源共享、灵活调配的崭新天地。本文将详细解析虚拟化技术的内涵、发展历程、分类及特…

JavaScript的概念

什么是 JavaScript JavaScript 一种直译式脚本语言&#xff0c;是一种动态类型、弱类型、基于原型的高级语言。 脚本语言&#xff1a;在程序的运行过程中逐行进行解释执行&#xff0c;不需要预编译。 动态类型&#xff1a;在声明了一个变量之后&#xff0c;我们能够随时改变…

Kafka 学习之:基于 flask 框架通过具体案例详解生产消费者模型,这一篇文章就够了

文章目录 案例信息介绍后端异步处理请求和后端同步处理请求同步方式异步方式 环境文件目录配置.envrequirements.txt 完整代码ext.pyapp.pykafka_create_user.py 运行方式本地安装 kafka运行 app.py使用 postman 测试建立 http 长连接&#xff0c;等待后端处理结果发送 RAW DAT…

金三银四面试题(九):JVM常见面试题(3)

今天我们继续探讨常见的JVM面试题。这些问题不比之前的问题庞大&#xff0c;多用于面试中JVM部分的热身运动&#xff0c;开胃菜&#xff0c;但是大家已经要认真准备。 你能保证GC 执行吗&#xff1f; 不能&#xff0c;虽然你可以调用System.gc() 或者Runtime.gc()&#xff0c…

【MySQL】DQL-排序查询-语法&排序方式&注意事项&可cv例题语句

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…

外观模式详解:简化复杂系统的“门面”担当

在软件开发中&#xff0c;我们经常遇到需要将复杂的子系统整合到一起&#xff0c;为客户端提供一个统一且简化的接口的情况。这时候&#xff0c;外观模式&#xff08;Facade Pattern&#xff09;便应运而生。本文将深入探讨外观模式的应用场景、Java代码实现、在开源项目中的实…

【Linux】寿司线程池{单例模式之懒汉模式下的线程池}

文章目录 回顾单例模式0.多线程下的单例模式的意义1.什么是单例模式1.0设计模式1.1C单例模式的介绍及原理1.2拷贝构造和赋值重载的处理1.3if (nullptr ptr)&#xff0c;nullptr放在比较运算符的前面?1.4实现单例模式的方式 2.实现懒汉方式的单例模式2.1单线程的单例模式2.2多…

微信小程序(黑马优购:登录)

1.点击结算进行条件判断 user.js //数据 state: () >({ // address: {} address: JSON.parse(uni.getStorageSync(address) || {}), token: }), my-settle.vue computed: { ...mapGetters(m_cart,[checkedCount,total,checkedGoodsAmount]), …

前端工程师————CSS学习

选择器分类 选择器分为基础选择器和复合选择器 基础选择器包括&#xff1a;标签选择器&#xff0c;类选择器&#xff0c;id选择器&#xff0c;通配符选择器标签选择器 类选择器 语法&#xff1a;.类名{属性1&#xff1a; 属性值&#xff1b;} 类名可以随便起 多类名使用方式&am…

从乡间小路到布鲁金斯大道:奥林商学院院长的公路之旅

复旦大学-华盛顿大学EMBA项目&#xff0c;是由复旦大学管理学院与美国华盛顿大学奥林商学院联合开办的EMBA项目。美国华盛顿大学奥林商学院&#xff0c;于去年9月迎来新院长Mike。      今年1月&#xff0c;Mazzeo院长首次到访复旦大学&#xff0c;与校友分享了一场 “经济…