Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
oozie oozie의 sqoop action수행시 ooize:launcher의 applicationId를 이용하여 oozie:action의 applicationId및 관련 로그를 찾는 방법
oozie의 workflow를 이용하여 sqoop작업 수행시 ooize:launcher가 먼저 수행되고 oozie:launcer가 oozie:action을 호출하면서 새로운 applicationId을 생성하여 sqoop action을 처리한다.
이때, oozie:launcher의 application_id를 application_1234567890123_1234라고 하면 sqoop oozie:action의 application_id는 oozie:launcher의 application_id + 1인 application_1234567890123_1235가 되는 경우가 대부분이다.
또한, oozie:launcher의 log 파일을 보면 >>> Invoking Sqoop command line now >>> 밑에 org.apache.sqoop.tool.CodeGenTool - Beginning code generation이후에
Executing SQL statement: select t.* from DB명.table명 where (1=0)(export인 경우 SELECT t.* from DB명.table명 AS t WHERE 1=0)이라는 문장이 보이면 sqoop source DB에 정상적으로 접근되었다는 것이며 이런 문장이 없으면 sqoop source DB에 권한 이슈 혹은 네트웍 접속 이슈등으로 정상적으로 접속하지 못했다는 의미이며 sqoop job이 별도의 application을 수행하지 않고 바로 종료된다. (별도의 application 을 수행중에 fail되는 경우라도 YARN->Applications에서 검색되지는 않고, YARN->WebUI->ResourceManager WebUI혹은 YARN->WebUI->HistoryServer WebUI에서 검색해야 확인 가능함)
Running job: job_1234567890123_1235 문구의 로그가 보이며 이것이 oozie:launcher가 수행시킨 sqoop action(application_1234567890123_1235)의 job id가 되므로 이것을 기준으로 application log를 찾아 확인할 수 있다.
이렇게 sqoop action의 applicatin_id를 찾는 이유는 Hue의 Job에서 오류발생시 보여지는 application_id에는 자세한 오류 메세지가 표시되지 않는 경우가 있다. 그래서 별도의 sqoop action job id를 찾아서 해당 로그를 확인하기 위함이다.
* 정상적으로 sqoop action이 진행된다면 oozie:launcher로그 파일(application_id=application application_1234567890123_1234)에서 다음의 내용을 확인할 수 있다.
>>> Invoking Sqoop command line now >>>
....
org.apache.sqoop.tool.CodeGenTool - Beginning code generation
....
org.apache.sqoop.manager.SqlManager - Executing SQL statement: select * from DB명.table명 where (1=0)
...
org.apache.hadoop.mapreduce.JobSubmitter - Submitting tokens for job: job_1234567890123_1235
...
org.apache.hadoop.yarn.client.api.impl.YarnClientImpl - Submitted application application_1234567890123_1235
...
org.apache.hadoop.mapreduce.Job - Running job: job_1234567890123_1235
...
org.apache.hadoop.mapreduce.Job - map 0% reduce 0%
org.apache.hadoop.mapreduce.Job - map 100% reduce 0%
org.apache.hadoop.mapreduce.Job - Job job_1234567890123_124 completed successfully