저는 Spark의 모든 log4j 속성에 대한 참조를 찾고 어려움을 겪고 있습니다. 나는 많은 사람들이 그것을 보았다는 많은 예를 발견했다. 그러나 나는 그들 모두를 가지고있는 어딘가에 참고가 있는지 알아보기 위해 노력하고 있습니다. 내 특정 유스 케이스에 대한 Spark Log4j 속성에 대한 참조가 있습니까?
, 나는 불꽃 제출 작업을 발사하여 데이터의 일련의 변환을 수행하는 몇 가지 코드를 쓰고, 그 다음 다른 사용자가 확장/사용할 수 있습니다. 기본적으로 스파크가 튀는 것을 대부분 필요로하지 않으며 log4j.rootLogger = WARN, stdout과 같은 것을 설정하는 것이 쉽습니다. 그러나 INFO에는 화면에 인쇄하기 좋은 유용한 비트가 있습니다. 특히 :org.apache.spark.deploy.yarn.Client (Logging.scala:logInfo(54)) -
client token: Token { kind: YARN_CLIENT_TOKEN, service: }
diagnostics: N/A
ApplicationMaster host: N/A
ApplicationMaster RPC port: -1
queue: ****
start time: 1508185983070
final status: UNDEFINED
tracking URL: ***My tracking URL***
user: ***User***
더 구체적으로 추적 URL입니다. Log4j에 대한 나의 제한된 지식으로 인해 다소 다소 어려울 수도 있습니다. 나는 다음과 같은 일을 시도했다 :
org.apache.spark.deploy.yarn.Client=Info
그러나 적법한 로깅 속성은 아닙니다. Spark에서 그 정보를 얻을 수있는 방법이 있습니까? 설정 가능한 모든 로깅 속성을 볼 수있는 트릭이 있습니까?
감사합니다.
업데이트 나는이 알아낼 수 있었다. 그것의 대부분은 log4j.properties가 어떻게 작동하는지 알지 못해서 발생했지만 지금은 훨씬 더 잘 처리됩니다.
당신은 로거를 설정하고 클래스 당 수준을 기록하고, 그 모든 자식 클래스까지 지속될 수 있습니다.
나는 이런 걸보고 내 log4j.properties를 변경 :log4j.logger.org.apache.spark=INFO, RollingAppender
log4j.additivity.org.apache.spark=false
log4j.logger.org.apache.hadoop=INFO, RollingAppender
log4j.additivity.org.apache.hadoop=false
log4j.logger.org.spark_project.jetty=INFO, RollingAppender
log4j.additivity.org.spark_project.jetty=false
log4j.logger.org.apache.spark.deploy.yarn.Client=INFO, RollingAppender
log4j.additivity.org.apache.spark.deploy.yarn.Client=false
을 그리고 그것은 거의 (약간 티아고 공유 링크에서 수정 된) 파일에 YARN 로그에있는 모든 스파크를 리디렉션합니다.
중요한 것들 내가 잃어버린 ...
1) 나는 log4j.logger.CLASS_NAME을 포함하는 데 필요한, 내가 log4j.logger 비트 누락되었다 ..
2)의 log4j이 필요합니다. additivity.CLASS_NAME = false. 이것이 없으면 INFO를 기본 설정으로 로깅합니다.
은 처음에는 꽤 혼란하지만 패턴을 일단 감각의 비트를 만들기 시작한다.
감사합니다. Thiago, 매우 유용합니다. 이미 알고있는 한 가지 도전은 루트 로거를 설정하지 않으면 로깅이 콘솔에 출력된다는 것입니다. 모든 스파크 노이즈에 대한 파일 로깅 우선 순위를 고려하지 않습니다. 그 중 일부는 원사도 있고, 내가 겪고있는 문제의 일부는이를 제어하기 위해 조정할 로그 설정을 아는 것입니다. 예를 들어 "INFO org.apache.spark.deploy.yarn.Client"가 내 콘솔에 나타납니다. log4j.logger.org.apache.spark.deploy.yarn.Client = WARN과 같은 설정을 시도했지만 아무 것도하지 않는 것 같습니다.그걸 묶어 둘 수있는 방법이 있니? –