2017-09-13 10 views
0

log4j에 관한 질문이 있으며 Java for Spark 작업에는 log4j.properties 구성 파일이 있습니다.EMR 클러스터의 apache spark 작업에 대한 log4j 사용자 정의

는 EMR 클러스터 log4j.properties 파일을 초기합니다 내 응용 프로그램에 제출 한 후에 내가 내 스파크 작업 "항아리"파일로 log4j.properties 함께 붙어있다. EMR 클러스터에서 작동하지 않습니다, 내 로컬 컴퓨터 작동에

public static void initializeLogger() { 
      try { 
       Properties logProperties = new Properties(); 
       logProperties.load(RddReadUtils.class.getClassLoader() 
    .getResourceAsStream("resources/log4j.properties")); 
       PropertyConfigurator.configure(logProperties); 

      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

     } 

:

여기 내 예제 코드입니다. 누구든지 도와 줄 수 있습니까?
고마워

+0

당신이 집행 또는 드라이버에이 코드를 실행하는? sparkContext를 사용하여 로그 레벨을 직접 변경할 수도 있습니다. –

+0

sparkcontext를 사용하여 변경 로그 레벨과 관련된 몇 가지 예를 직접 보여줄 수 있습니까? 내 스파크 응용 프로그램이 EMR 클러스터에서 실행되기 때문에 드라이버가 – user2953788

+0

'sparkContext.setLogLevel ("DEBUG") ' –

답변

0

클러스터에서 작업을 실행하면 log4j는 클러스터 내에 구성된 등록 정보 파일을 사용합니다. 직업이 환경에보다 독립적 일 수 있기 때문에 이는 의미가 있습니다. 가리키는 당신의 log4j.properties가 구성 매개 변수를 사용하여 작업을 실행 클러스터

  • 어딘가에 파일

    • 장소 : 당신이 등록 정보 파일을 특정를 사용하려면

      그러나, 다음을 수행 할 수 있습니다 속성 파일.

    당신이 당신의 작업을 실행한다고 가정 스파크 제출 다음과 같이 실행할 수 있습니다 :

    spark-submit --driver-java-options "-Dlog4j.configuration=file:///absolute/path/to/log4j.properties" job.jar