분산 작업 일정, 관리 및보고
-
19-09-2019 - |
문제
나는 최근에 놀이를했다 Hadoop MapReduce 작업의 일정, 관리 및보고에 깊은 인상을 받았습니다. 새로운 작업의 배포와 실행을 매우 원활하게 만들어 개발자가 작업 구현에 집중할 수 있도록하는 것으로 보입니다.
MapReduce 문제로 쉽게 표현되지 않는 작업의 분산 실행을 위해 Java 도메인에 어떤 것이 있는지 궁금합니다. 예를 들어:
작업 조정 및 동기화가 필요한 작업. 예를 들어, 순차적 인 작업 실행이 포함될 수 있지만 동시에 일부 작업을 실행하는 것이 가능합니다.
.-- B --. .--A --| |--. | '-- C --' | Start --| |-- Done | | '--D -------------'
배포하고 싶지만 이미지 변환/크기 조정을위한 출력을 제공하지 않는 CPU 집중 작업.
그러한 분산 컴퓨팅 환경을 제공하는 Java 프레임 워크/플랫폼이 있습니까? 아니면 Hadoop을 사용하여 이런 종류의 일을 허용/달성 할 수 있습니까? 그렇다면 이러한 종류의 작업에 대한 패턴/지침이 있습니까?
다른 팁
보세요 석영. 원격 작업 관리 및 작업을 실행하기 위해 여러 기계를 클러스터링하는 것과 같은 것들을 지원한다고 생각합니다.
CPU 집중 작업을위한 워크 플로 엔진을 찾고 있다고 생각합니다 (또한 "과학 워크 플로", 예를 들어 http://www.extreme.indiana.edu/swf-survey). 그러나 나는 당신이 얼마나 분포되어 있는지 잘 모르겠습니다. 일반적으로 모든 워크 플로 엔진에는 "단일 고장 지점"이 있습니다.
나는 상당히 몇 가지 문제가 맵-유도 문제로 표현 될 수 있다고 생각합니다.
구조에 맞게 수정할 수없는 문제의 경우 Java를 사용하여 직접 설정하는 것을 볼 수 있습니다. ExecutorService. 그러나 하나의 JVM으로 제한되며 상당히 낮은 수준이 될 것입니다. 그러나 쉽게 조정 및 동기화를 허용합니다.