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博客
相关文章:
spark log4j日志文件动态参数读取
需要在log4j xml文件中设置动态参数,并支持spark任务在集群模式下,动态参数读取正常; 1.log4j配置文件 log4j2.xml <?xml version"1.0" encoding"UTF-8"?> <Configuration status"info" name&quo…...
设计模式,装修模式,Php代码演示,优缺点,注意事项
装饰模式(Decorator Pattern)是一种结构型设计模式,它允许动态地向一个现有对象添加新的功能或行为,而不改变其原始结构。在 PHP 中,可以使用类的继承和组合来实现装饰模式。下面是一个简单的 PHP 装饰模式示例代码&am…...
ubuntu下vscode ctrl+tab松开ctrl后不自动选中文件
vscode用ctrltab切换文件时,松开ctrl键后会自动选中切换的文件。 但是在ubuntu下发现有时不能自动选中切换的文件,需要再次按enter键才能打开文件。 经过测试发现解决方法有两个: 方法1:确认wayland状态,关闭wayland…...
【云开发笔记No.19】关于中台架构(1)
在云开发领域,中台架构是一种至关重要的组织架构,它为企业提供了一种灵活且高效的方式来应对市场的快速变化。下面将详细阐述中台架构的定义、起源、定位和价值。 中台架构的定义 中台架构是指在企业信息系统中,将业务流程、数据和应用系统…...
对于提高Web安全,WAF能有什么作用
数字化时代,网络安全已经成为了一个不可忽视的重要议题。网络攻击事件频发,各种安全隐患层出不穷,如何有效地保护我们的网络空间,确保信息安全,已成为一项迫切的任务。而Web应用防火墙,正是守护网络安全的一…...
Go 源码之 gin 框架
Go 源码之 gin 框架 go源码之gin - Jxy 博客 一、总结 gin.New()初始化一个实例:gin.engine,该实例实现了http.Handler接口。实现了ServeHTTP方法 注册路由、注册中间件,调用addRoute将路由和中间件注册到 methodTree 前缀树(节…...
BM19 寻找峰值(二分查找)
import java.util.*; public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param nums int整型一维数组 * return int整型*/public int findPeakElement (int[] nums) {// write code hereint lef…...
4.数组和切片【go】
数组是具有固定数量的元素的序列,而切片是对数组的一个连续片段的引用。切片是Go中常用的数据结构 数组(Array) 数组是一个具有固定长度且元素类型相同的序列。在Go中,数组的长度是其类型的一部分,因此[5]int和[10]int是不同的数组类型。数组的长度在声明时必须指定,并…...
Abaqus周期性边界代表体单元Random Sphere RVE 3D (Mesh)插件
插件介绍 Random Sphere RVE 3D (Mesh) - AbyssFish 插件可在Abaqus生成三维具备周期性边界条件(Periodic Boundary Conditions, PBC)的随机球体骨料及骨料-水泥界面过渡区(Interfacial Transition Zone, ITZ)模型。即采用周期性代表性体积单元法(Periodic Representative Vol…...
家庭记账本(源码+文档)
家庭记账本系统(小程序、ios、安卓都可部署) 文件包含内容程序简要说明含有功能项目截图客户端我的界面图表明细添加账单登录页明细注册页个人资料 后台管理用户管理后台登录页分类管理 文件包含内容 1、搭建视频 2、流程图 3、开题报告 4、数据库 5、参…...
深度学习评价指标(1):目标检测的评价指标
1. 简述 在计算机视觉/深度学习领域,每一个方向都有属于自己的评价指标。通常在评估一个模型时,只需要计算出相应的评价指标,便可以评估算法的性能。同时,所谓SOTA,皆是基于某一评价指标进行的评估。 接下来࿰…...
jmeter性能压测的标准和实战中会遇到的问题
1.性能标准建议 CPU 使用率:不超过 70% 内存使用率:不超过 70% 磁盘:%util到达80%严重繁忙 (os.disIO.filesystem.writeKbPS 每秒写入的千字节) 响应时间:95%的响应时间不超过8000ms 事务成功率:…...
6-82 求链式线性表的倒数第K项
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。 输入格式: 输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。 输出格式: 输出倒数第K个位置上的数据。如果这个位置不存在,输出错误…...
CDH集群hive初始化元数据库失败
oracle数据库操作: 报错如下:命令 (Validate Hive Metastore schema (237)) 已失败 截图如下: 后台日志部分摘录: WARNING: Use “yarn jar” to launch YARN applications. SLF4J: Class path contains multiple SLF4J binding…...
【ESP32S3 Sense接入语音识别+MiniMax模型对话】
1. 前言 围绕ESP32S3 Sense接入语音识别MiniMax模型对话展开,首先串口输入“1”字符,随后麦克风采集2s声音数据,对接百度在线语音识别,将返回文本结果丢入MiniMax模型,进而返回第二次结果文本,实现语言对话…...
【Java初阶(七)】接口
❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 目录 1.前言2.接口2.1语法规则2.2接口使用2.3接口特性2.4实现多个接口2.5接口使用实例2.6Clonable接口和深拷贝 3.Object类3.1对象比较equals方法3.2hashcod…...
Mac OS上使用matplotlib库显示中文字体
文章目录 问题描述解决步骤参考文章 问题描述 如果我们想要使用matplotlib画图的话,可能会出现下面的这种warning: UserWarning: Glyph 24212 (\N{CJK UNIFIED IDEOGRAPH-5E94}) missing from current font.解决步骤 解决这个问题,可以按照下面的做法…...
IP种子是什么?理解和应用
在网络世界中,IP种子是一个广泛应用于文件共享和网络下载领域的概念。它是一种特殊的标识符,用于识别和连接到基于对等网络(P2P)协议的文件共享网络中的用户或节点。本文将深入探讨IP种子的含义、作用以及其在网络中的应用。 IP地…...
车载以太网AVB交换机 gptp透明时钟 5口 全千兆 SW1500
全千兆车载以太网交换机 一、产品简要分析 5端口千兆车载以太网交换机,包含4个通道的1000BASE-T1接口使用罗森博格H-MTD和泰科MATEnet双接口,1个通道1000BASE-T标准以太网(RJ45接口),可以实现车载以太网多通道交换,千兆和百兆车载…...
Can‘t connect to server on ‘localhost‘ (10061)
问题:电脑关机重启后,连接不上mysql了,报错信息如下:2002 - Cant connect to server on localhost (10061)解决办法:很大的原因是mysql服务没有启动,需要你重启一下mysql: 以管理员的身份运行cm…...
Ctool:一站式解决开发者的日常编码烦恼
Ctool:一站式解决开发者的日常编码烦恼 【免费下载链接】Ctool 程序开发常用工具 chrome / edge / firefox / utools / windows / linux / mac 项目地址: https://gitcode.com/gh_mirrors/ct/Ctool 在日常开发工作中,我们常常需要处理各种编码转换…...
3PEAK思瑞浦 TP2262-TSR TSSOP8 运算放大器
特性 供电电压:3V至36V 低供电电流:每通道最大1000A差分输入电压范围至电源轨,可作为比较器工作 输入轨至-Vs,轨到轨输出快速响应:3.5MHz带宽,15V/us斜率,100ns过载恢复时间 低失调电压:-25C时最大2mV-2.5 mV在-40C至85C(最大) -3…...
嵌入式系统调试技术:从JTAG到多核同步的实战指南
1. 嵌入式系统调试技术概述在嵌入式系统开发过程中,调试环节往往占据整个开发周期的40%-60%时间。与通用计算机系统不同,嵌入式系统通常运行在资源受限的环境中,缺乏标准输入输出设备,这使得调试工作更具挑战性。我曾参与过多个工…...
算力入门:从FLOPS到PUE全解析
算力入门:FLOPS、TFLOPS、EFLOPS、算力规模、能效比、PUE 全解 算力(计算能力)是衡量计算机系统性能的关键指标,尤其在科学计算、人工智能和大数据处理等领域至关重要。本指南将逐步解释FLOPS、TFLOPS、EFLOPS、算力规模、能效比和PUE这些核心概念,帮助您快速入门。所有内…...
从USB3.2到PCIe 5.0:我的高速串行链路阻抗匹配踩坑实录(附Sigrity仿真文件)
从USB3.2到PCIe 5.0:我的高速串行链路阻抗匹配踩坑实录 去年负责一款数据中心加速卡的设计时,我遇到了职业生涯中最棘手的高速信号完整性问题。这块板卡需要同时支持PCIe 5.0 x16和四个USB3.2 Gen2x2接口,当第一批工程样机回来进行信号测试时…...
嵌入式开发实战:手把手教你用U-Boot命令调试i.MX6ULL开发板(含网络/EMMC操作)
嵌入式开发实战:i.MX6ULL开发板U-Boot调试全攻略 1. 从零开始的硬件调试环境搭建 拿到i.MX6ULL开发板的第一件事,就是建立可靠的调试环境。不同于桌面开发,嵌入式系统往往需要通过串口与开发板交互。这里推荐使用USB转TTL模块连接开发板的调试…...
不可错过的AI教材写作攻略,借助工具轻松达成低查重目标
教材编写中的挑战与AI工具的解决方案 在教材编写的过程中,确保原创性与合规性之间的平衡是一项关键任务。创作者在借鉴优秀教材的同时,又担心查重率可能会超标;而在尝试自主创作时,又容易面临逻辑不够严密或内容不准确的问题。更…...
硬件工程师如何高效阅读技术博客:从EDA工具到IP核的实战学习指南
1. 从“本周最佳”到深度解析:一位硬件工程师的EDA与IP博客阅读笔记每周五下午,当项目代码编译的进度条缓慢爬升时,我总会习惯性地打开几个固定的书签,快速浏览过去一周里全球同行们又分享了哪些新想法、新工具或是踩了哪些新坑。…...
别再只用VLC看片了!手把手教你把它变成家庭流媒体服务器(支持UDP/TCP)
解锁VLC的隐藏技能:打造家庭专属流媒体系统的完整指南 你是否曾为在不同设备间切换观看本地视频而烦恼?每次都要用U盘拷贝或者忍受云盘缓慢的上传下载速度?其实,你电脑上那个熟悉的橙色锥形图标——VLC播放器,远比你想…...
Fooocus:5分钟快速上手的AI图像生成完整指南,免费离线使用
Fooocus:5分钟快速上手的AI图像生成完整指南,免费离线使用 【免费下载链接】Fooocus Focus on prompting and generating 项目地址: https://gitcode.com/GitHub_Trending/fo/Fooocus 在AI图像生成技术快速发展的今天,Fooocus作为一款…...
