우지는 REST API로 잡목록 확인, 잡수행을 위한 웹서비스 API를 제공한다.
HTTP를 이용하여 우지 콘솔 명령을 수행할 수 있으므로
이를 이용하여 잡 모니터링, 수행이 가능하다.
- 잡 목록 확인
http://주소/oozie/v1/jobs?jobtype=coord&len=10000&filter=status=RUNNING
- 잡 정보 확인
http://주소/oozie/v1/job/[워크플로우|코디에티어ID]?show=info&len=10000
#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib, json
from datetime import datetime
OOZIE_URL = "http://localhost:11000"
class Workflow():
def __init__(self, wf_info):
self.wf_info = wf_info
def __getitem__(self, key):
return self.wf_info[key]
def __str__(self):
return json.dumps(self.wf_info, indent=4, sort_keys=True)
def send_url(request_url):
'''
request url 을 호출하여 json
'''
json_obj = json.loads(urllib.urlopen(request_url).read())
print(request_url)
print(json.dumps(json_obj, indent=4, sort_keys=True))
return json_obj
# 잡 목록
def get_job_list(job_type, job_status):
request_url = "{oozie_url}/oozie/v1/jobs?".format(oozie_url= OOZIE_URL)
filter_list = [ 'len=10000', 'jobtype='+job_type, 'filter=status='+job_status ]
url = "{request_url}{filter_list}".format(request_url=request_url, filter_list="&".join(filter_list))
return send_url(url)
def get_running_coord_list():
get_job_list('coord', 'RUNNING')
def get_running_wf_list():
get_job_list('wf', 'RUNNING')
def get_killed_wf_list():
get_job_list('wf', 'KILLED')
def get_killed_wf_job_list():
return get_job_list('wf', 'KILLED')
# 잡의 정보
def get_job_info(job_id):
request_url = '{oozie_url}/oozie/v1/job/{job_id}?show=info&len=10000'.format(oozie_url= OOZIE_URL, job_id = job_id)
return send_url(request_url)
def main():
#get_killed_wf_list()
#get_job_info('C-ID')
#get_job_info('W-ID')
get_delay_wf_job_list()
#get_killed_wf_job_list()
if __name__ == '__main__':
main()
'빅데이터 > oozie' 카테고리의 다른 글
[oozie] 우지에서 하이브 액션 처리중 java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.HiveMain not found 오류 처리 (0) | 2017.04.06 |
---|---|
[oozie] FS 액션을 이용하여 작업 완료용 0바이트 파일 만들기 (0) | 2017.01.25 |
[oozie] 우지의 RUNNING 중인 코디네이터 정보 수정 (0) | 2017.01.11 |
[oozie] 우지에서 쉴에서 실행한 값을 다음 액션의 파라미터로 전달하기 (0) | 2016.07.26 |
우지 4.0 의 특징 (0) | 2015.01.06 |