Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何配置Spark 的log4j的日志?

如何配置Spark 的log4j的日志?

提问于 2020-05-28 02:34:15
回答 1关注 0查看 1.8K

我使用的是CDH5.16安装的集群。跑的是spark程序,想要自定义log4j输出日志到客户端目录

配置的log4j如下

代码语言:javascript
运行
AI代码解释
复制
log4j.rootCategory=INFO, console,FILE
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

# Set the default spark-shell log level to WARN. When running the spark-shell, the
# log level for this class is used to overwrite the root logger's log level, so that
# the user can have different defaults for the shell and regular Spark apps.
log4j.logger.org.apache.spark.repl.Main=WARN

# Settings to quiet third party logs that are too verbose
log4j.logger.org.spark_project.jetty=WARN
log4j.logger.org.spark_project.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=WARN
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=WARN
log4j.logger.org.apache.parquet=ERROR
log4j.logger.parquet=ERROR

# SPARK-9183: Settings to avoid annoying messages when looking up nonexistent UDFs in SparkSQL with Hive support
log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL
log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR

log4j.appender.FILE = org.apache.log4j.RollingFileAppender
log4j.appender.FILE.Threshold=DEBUG
#log4j.appender.FILE.File=./log/rzp.log
log4j.appender.FILE.File=/home/rzpt/logs/spark.log
log4j.appender.logFile.Encoding = UTF-8
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[%-5p] [%d{yyyy-MM-dd HH:mm:ss}] [%C{1}:%M:%L] %m%n
log4j.appender.FILE.MaxFileSize=10mb

这个log4j配置文件我在项目中放在了resource文件下,服务器上也放了一份(因为网上找了答案两种都有),然后这些命令我都试过了,但是全部都没有日志输出

代码语言:js
AI代码解释
复制
spark2-submit \
    --class com.nari.sgp.amc.measStandAssess.aurSum.AurSumMain \
    --master yarn \
    --deploy-mode cluster \
    --files "./log4j.properties" \
    ./sgp-1.0.jar
    
    spark2-submit --class com.nari.sgp.amc.measStandAssess.aurSum.AurSumMain --master local[*]  \
    --deploy-mode client sgp-1.0.jar

spark2-submit --class com.nari.sgp.amc.measStandAssess.aurSum.AurSumMain \
--files "./log4j.properties" \
--driver-java-options "-Dlog4j.debug=true -Dlog4j.configuration=log4j.properties" \
--conf "spark.executor.extraJavaOptions=-Dlog4j.debug=true -Dlog4j.configuration=log4j.properties" \
--master yarn --deploy-mode cluster  sgp-1.0.jar

spark2-submit --class com.nari.sgp.amc.measStandAssess.aurSum.AurSumMain \
--files "./log4j.properties" \
--driver-java-options "-Dlog4j.debug=true -Dlog4j.configuration=log4j.properties" \
--conf spark.driver.extraJavaOptions='-Dlog4j.configuration=file:/opt/centralLogs/conf/log4j.properties' \
--master yarn --deploy-mode cluster  \
sgp-1.0.jar

回答 1

天使的炫翼

发布于 2019-04-15 08:35:19

提供下具体报错log 喔,才可以更清楚为你定位问题~

和开发者交流更多问题细节吧,去 写回答
相关文章
CreateFile()打开串口失败,返回句柄值为0xffffffff
出错情况:设备1和设备2分别使用COM1和COM2外界通信,在不关闭软件的情况下,调换串口(即设备1/2,分别使用COM2/1),此时出错?以下是查找原因的步骤:
全栈程序员站长
2022/08/29
2.8K0
串口转tcp软件_tcp转虚拟串口软件
由于项目调试需求,代码在远程服务器的虚拟机上,在本地计算机通过串口连接需要对接的设备,在远程服务器的上位机程序需要和此设备进行对接,系统结构如图1所示。
全栈程序员站长
2022/10/04
5.8K0
串口转tcp软件_tcp转虚拟串口软件
串口虚拟化 | 串口服务器Nport 5630 设置
项目改造,客户需要对IFix4.5进行升级,并优化通讯,在不改变原来配置的基础上逐步进行替换。
剑指工控
2021/11/09
4K0
串口虚拟化 | 串口服务器Nport 5630 设置
虚拟串口模拟器和串口调试助手使用教程「建议收藏」
虚拟串口(虚拟 COM 端口),应该很多人都知道,也就是一种模拟物理串行接口的 软件 。 它完全复制了硬件 COM 接口的功能,并且将被操作系统和串行应用程序识别为真实端口。
全栈程序员站长
2022/07/01
8K0
虚拟串口模拟器和串口调试助手使用教程「建议收藏」
虚拟串口工具_com0com
因为这年头,都 2012 年了,应该没什么人有在用 Serial port (串行端口 / 串口),说 Serial port 大家可能想不起来,但说 COM port 大家应该就知道是什么一回事了吧?就是那个从前在计算机后方一定有的 DB9 插头,但近几年的新计算机都再找不到了。 虽然 Serial port 己经从大家面前消失得八八九九,但其实它在很多地方都仍然存在,更多的是用虚拟的形式 (Virtual COM port) 出现,例如现在应该每个人都知道的 3G modem 上网卡,很多都是靠一
张善友
2018/01/29
5.7K0
VSPD虚拟串口软件安装及使用
有时候我们需要调试串口但是恰巧身边没有硬件设备,那我们就可以通过使用虚拟串口软件模拟串口实现数据的收发功能,本文记录了软件的安装以及使用,实现了使用 VSPD 虚拟串口软件实现串口收发的功能,方便后面用到时节约时间。
Gnep@97
2023/08/10
15K0
VSPD虚拟串口软件安装及使用
linux下检测可用串口并使用minicom打开
目前使用minicom作为串口软件。但使用过程中,有一点感觉不方便的地方,就是我需要使用多个串口,当使用的不是串口0时,就要手动修改minicom的配置。
zqb_all
2019/12/27
6.7K0
Labview串口通信VISA实现串口收发
VISA 是 Virtual Instrument Software Architecture 的简称,它提供了一种标准的、跨平台的通信协议,允许 LabVIEW 与各种不同的设备进行通信,无论是通过 GPIB、串口、USB、以太网或其他接口。VISA 对于测试软件开发者来说是一个可调用的操作函数集,本身并不提供仪器编程能力,它只是一个高层 API,通过调用低层的驱动程序来控制仪器。NI-VISA 的层次结构如下图所示:
Gnep@97
2023/08/10
1.7K0
Labview串口通信VISA实现串口收发
Labview串口通信MSComm实现串口收发
MSComm 作为一个串行通讯控件,每个 MSComm 控件,都对应一个串口,若需访问多个串口时必须使用多个 MSComm 控件。
Gnep@97
2023/08/10
1.1K0
Labview串口通信MSComm实现串口收发
串口通信—串口发送和接收代码讲解
  标准库函数对每个外设都建立了一个初始化结构体,比如USART_InitTypeDef,结构体成员用于设置外设工作参数,并由外设初始化配置函数,比如USART_Init()调用,这些设定参数将会设置外设相应的寄存器,达到配置外设工作环境的目的。
用户6754675
2019/12/30
5.5K0
C#串口操作类,包括串口读写操作
本文转载自博客园:C#串口操作类,包括串口读写操作 串口进行操作的类,其中包括写和读操作,类可设置串口参数、设置接收函数、打开串口资源、关闭串口资源,操作完成后,一定要关闭串口、接收串口数据事件、接收数据出错事件、获取当前全部串口、把字节型转换成十六进制字符串等功能。这个串口类已经过了调试,可以使用,相关C#代码如下:
ccf19881030
2020/09/17
4.6K0
LabVIEW串口示波器
之前的博文分享过LabVIEW虚拟数字示波器,虚拟示波器的数据来自于软件模拟,本篇博文将分享一款串口示波器,LabVIEW设计上位机,数据来自于节点上传(STM32)。
不脱发的程序猿
2023/04/08
2.1K0
LabVIEW串口示波器
Python操作串口
首先需确保安装了serial模块,如果没安装的话就安装一下python-pyserial。
py3study
2020/01/06
2.4K0
8.3 串口读写
何谓串口?串口就是一个计算机接口,用于数据通信,例如计算机。老一点的PC和笔记本都有串口,工控机一般配置有串口,如果没有可以到淘宝上买USB-串口转换器。
周星星9527
2019/04/26
2.9K0
8.3 串口读写
GPIO模拟串口
你是否遇到过某个MCU串口不够的情况? 这时我们可以考虑用GPIO去模拟,如何具体实现呢?
用户2366192
2021/08/27
2.9K0
GPIO模拟串口
Android串口入门
1. Andorid串口开发包一般使用google多年前提供的android-serialport-api, 提供自用分支
Zeal
2020/11/10
3K0
LabVIEW串口通信
串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节的通信方式。在LabVIEW中串口通信使用范围非常广泛,例如,通过串口使用ModBus协议驱动仪器、串口驱动PLC设备等。
不脱发的程序猿
2022/05/07
3.3K0
LabVIEW串口通信
windows下的串口编程,串口操作类封装
使用Win32文件方式操作:打开串口(创建文件)->配置参数->发送(写文件)-->接收(读文件)
杨永贞
2022/06/09
2.6K0
Android 串口调试_串口转usb需要驱动吗
默认log串口:Board_KERNEL_CMDLINE := console=ttyHSL0, 115200, n8
全栈程序员站长
2022/11/07
8K1
Android 串口调试_串口转usb需要驱动吗
串口传输
介绍 原理 串口传输在51单片机里是非常重要的一点,这常常是在中断、计数器后面学习,因为不可避免的需要用到中断。51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。 当串行发送完毕后,将在标志位 TI 置 1,同样,当收到了数据后,也会在 RI 置 1。只要串口中断处于开放状态,单片机都会进入串口中断处理程序。在单片机的中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。 每当收到一个新数据,就在中断函数中,把 RI 清零,并用一个变量,通知主函数,收到了新数据。 发送数据时,很多的程序都是使用的“查询方式”,就是执行 while(TI ==0); 这样的语句来等待发送完毕。没有发送完的时候就会一直在循环里。 常出现的错误
跋扈洋
2021/02/02
1.1K0

相似问题

云支付收银台?

0322

云支付收银台,不能刷脸支付吗?

1414

云支付收银台验证密钥在哪?

2605

云支付收银台登录失败,重置也不行是什么原因?

0213

腾讯云存储打开视频打不开?

040
相关问答用户
擅长3个领域
腾讯 | 技术专家擅长2个领域
萃橙科技 | 合伙人擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档