EMR에서 사용하는 우지 5.1에서 다음과 같은 오류가 발생하였습니다. Error: E0307 : E0307: Runtime error [App directory [null] does not exist and app definition cannot be created because of missing config value [oozie.jobs.api.generated.xml]] 원인 OOZIE-3386 우지 5.1.0에서 발생하고 패치 되었으나 EMR에서는 발생 해결방법 HDFS에서 올려놓은 workflow.xml의 이름을 파라미터로 전달 $ oozie job -config coordinator.properties -run -Doozie.jobs.api.generated.xml=workflow.xml
우지 워크플로우의 기본 스펙과 실행 방법에 대해서 알아보겠습니다. [워크플로우 기본 스펙] 우지 워크플로우는 우지가 실제로 실행하는 작업의 순서를 담고 있습니다. XML 스키마에 맞춰서 작성하면 됩니다. https://oozie.apache.org/docs/4.2.0/WorkflowFunctionalSpec.html#Appendix_A_Oozie_XML-Schema Oozie - ::Go back to Oozie Documentation Index:: Oozie Specification, a Hadoop Workflow System (v3.1) The goal of this document is to define a workflow engine system specialized in coordinatin..
우지의 액션을 실행하는 우지 런처도 MR 잡으로 실행된다. 우지 런처의 메모리를 설정하는 옵션은 다음을 설정하면 된다. oozie.launcher.mapreduce.map.memory.mb=768oozie.launcher.mapreduce.map.java.opts=-Xmx512moozie.launcher.yarn.app.mapreduce.am.resource.mb=1024oozie.launcher.yarn.app.mapreduce.am.command-opts=-Xmx768m http://www.openkb.info/2016/07/memory-allocation-for-oozie-launcher-job.html
우지 코디네이터에 를 설정하면 지정한 파일이 생성되기 까지 잡을 대기(WAITING) 하게 할 수 있다. 이때 기본적으로 대기잡은 12개로 설정되어 있고 코디네이터에 설정된 정보만큼 기다리다가 TIMEOUT으로 넘어가면서 다음 잡이 생성되게 된다. 이 WAITING 잡의 개수를 다음의 설정으로 조절이 가능하다. oozie.service.coord.default.throttle = 12 https://oozie.apache.org/docs/4.0.0/oozie-default.xml
우지의 하이브 액션을 이용하는 방법은 다음과 같다. 다음의 파일을 준비필수: workflow.xml, count.hql, job.properties옵션: hive-site.xml생성한 파일을 hdfs에 업로드우지 명령어 실행oozie job --oozie http://localhost:11000/oozie -config ./job.properties -run localhost:8032 hdfs://localhost:8020 hive-site.xml oozie.use.system.libpath true oozie.launcher.mapreduce.job.acl-view-job * oozie.launcher.mapred.job.queue.name q1 mapred.job.queue.name queue ooz..
우지를 이용하여 하둡, 하이브 액션을 처리할때 HDFS나 S3에 작업이 처리 되었음을 알리기 위하여 0byte의 파일을 생성해야 할 때가 있다. 이럴때 hadoop의 touchz 명령을 이용하면 0byte의 파일을 생성할 수 있다. * 이는 리눅스의 touch 명령과 동일하다. 우지 워크플로우의 fs 액션은 이작업을 기본적으로 제공하기 때문에 따로 쉘커맨드나 파이썬 액션을 만들지 않아도 처리가 가능하다. fs 액션은 다음의 기본 명령을 제공한다. - move , delete , mkdir , chmod , touchz, chgrp [fs 액션 문법] ... ... ... ... ... ... ... [예제1] ... ... [예제2] Map/Reduce failed, error message[${wf:e..
우지는 RUNNING 중인 코디네이터의 정보를 수정하는 방법으로 다음의 옵션이 존재한다. -update: 코디네이터의 프로퍼티, 선언(코디네이터, 워크플로우 정보)을 변경 : name, frequency, start time, end time and timezone 변경 불가 : ex) oozie job -oozie http://주소 -config ./sample.properties -update oozie-C -change: endtime/concurrency/pausetime/status 를 변경 : oozie job --oozie http://주소 -change oozie-C -value endtime=2017-01-20T01:00Z xml 파일의 정보를 변경하기 위해서는 update를 이용하고,개..
우지를 이용하여 하이브 액션 처리시 다음의 오류가 발생한다. Caused by: MetaException(message:For direct MetaStore DB connections, we don't support retries at the client level.)at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.reconnect(HiveMetaStoreClient.java:263)at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:88)at com.sun.proxy.$Proxy40.alter_partitions(Unknown Sou..
우지 workflow.xml 에서 현재 액션의 스탠다드 아웃풋(출력)을 다음 액션의 파라미터로 이용이 가능하다. 쉘 액션에 를 입력하고다음 액션의 파라미터에서 ${wf:actionData('shellAction')['dateVariable']}와 같이 이용하면 된다. 쉘 액션의 이름과 출력 파라미터를 잘 조정하면 된다. 쉘 액션은 다음과 같이 출력하면 된다. echo "dateVariable=${dateValue}" http://stackoverflow.com/questions/30873891/passing-parameters-from-one-action-to-another-in-oozie
- Total
- Today
- Yesterday
- 하둡
- 오류
- build
- SPARK
- bash
- 다이나믹
- AWS
- yarn
- HDFS
- Linux
- airflow
- 하이브
- 정올
- nodejs
- Python
- oozie
- mysql
- 백준
- Hadoop
- S3
- emr
- 알고리즘
- ubuntu
- SQL
- java
- HIVE
- hbase
- error
- Tez
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |