Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
1. YARN application로그는 container가 수행된 노드의 로컬 파일 경로(yarn.nodemanager.log-dirs, /var/log/hadoop-yarn/containers) 저장된다.
2. CM->YARN->Applications->application list의 우측에 Application Details를 클릭시 "Failed to read the application application_123456789012_123456" 발생시 아래와 같은 방법으로 log파일을 직접 조회해서 볼 수 있다.
(yarn.resourcemanager.max-completed-applications(default 10k)와 yarn.resourcemanager.state-store.max-completed-applications값을 동시에 설정하여 조절 가능하나 너무 큰 값을 설정하면 RM recovery performance 부하가 발생함, 권장값은 30k이내임)
3. 또한 yarn.log-aggregation-enable(Enalbe Log Aggregation)이 enable상태라면 로컬 파일들(stderr, stdout등)을 1개의 파일로 묶어서 HDFS(yarn.nodemanager.remote-app-log-dir/계정명/yarn.nodemanager.remote-app-log-dir-suffix, /tmp/logs/계정/logs)에 저장(yarn.log-aggregation_retain-seconds, default : 7 days(s))하고 로컬 파일을 지우므로 HDFS의 /tmp/logs/계정/logs/application_id에 가서 직접 application수행 로그 파일을 조회할 수 도 있다.