centos7 기준입니다.

 

spark master yarn모드로 작업이 진행되는 환경에서,

리눅스 파일시스템 상 ${HADOOP_HOME}/logs/userlogs에 job 컨테이너에 대한 로그들이

너무 많이 쌓이는 이슈가 있었고,

yarn-site.xml에 설정 값을 추가하여 삭제주기를 설정할 수 있었습니다.

 

vi yarn-site.xml

<!-- 설정 값 추가 -->
<property>
    <name>yarn.nodemanager.log.retain-seconds</name>
    <value>10800</value>
</property>

 

 

함께 확인할 컨피그
yarn.nodemanager.local-dirs
default  ${hadoop.tmp.dir}/nm-local-dir
yarn job이 돌 때 작업이 진행될 (파일, 캐시 등) 디렉토리

yarn.nodemanager.log-dirs
default  ${yarn.log.dir}/userlogs
컨테이너 로그를 저장할 위치. 각 컨테이너 디렉터리에는 해당 컨테이너에서 생성된 stderr, stdin 및 syslog 파일이 포함됩니다.

yarn.nodemanager.log.retain-seconds
defalut 10800
사용자 로그를 보관하는 시간(초)입니다. 로그 집계(yarn.log-aggregation-enable default false)가 비활성화된

경우에만 적용 가능

 

해당 컨피그로 인해 ${HADOOP_HOME}/logs/userlogs 하위 로그 파일들이 삭제되면,

리소스 매니저 UI 상으로 해당 job의 로그를 확인 할 수 없음을 유의 바랍니다. (stderr, stdout 등)

반응형

+ Recent posts