[HADOOP] 하나의 JVM에서 여러 맵 작업을 실행할 수 있습니까?
HADOOP하나의 JVM에서 여러 맵 작업을 실행할 수 있습니까?
Hadoop의 맵 작업에 메모리 정적 데이터 (RAM lucene 인덱스)를 크게 공유하고 싶습니다. 같은 JVM을 공유하는 여러 맵 / 축소 작업을위한 방법이 있습니까?
해결법
-
==============================
1.작업은 mapred.job.reuse.jvm.num.tasks 작업 구성을 지정하여 작업 JVM을 다시 사용할 수있게합니다. 값이 1 (기본값)이면 JVM은 재사용되지 않습니다 (즉, JVM 당 1 개의 작업). -1 인 경우 JVM이 (동일한 작업의) 실행할 수있는 작업 수에 제한이 없습니다. api를 사용하여 1보다 큰 값을 지정할 수도 있습니다.
작업은 mapred.job.reuse.jvm.num.tasks 작업 구성을 지정하여 작업 JVM을 다시 사용할 수있게합니다. 값이 1 (기본값)이면 JVM은 재사용되지 않습니다 (즉, JVM 당 1 개의 작업). -1 인 경우 JVM이 (동일한 작업의) 실행할 수있는 작업 수에 제한이 없습니다. api를 사용하여 1보다 큰 값을 지정할 수도 있습니다.
-
==============================
2.$ HADOOP_HOME / conf / mapred-site.xml에 follow 속성을 추가합니다.
$ HADOOP_HOME / conf / mapred-site.xml에 follow 속성을 추가합니다.
<property> <name>mapred.job.reuse.jvm.num.tasks</name> <value>#</value> </property>
#은 JVM이 재사용되는 횟수 (기본값은 1)를 지정하는 숫자로 설정되거나 재사용 량에 제한이 없으면 -1로 설정 될 수 있습니다.
-
==============================
3.뻔뻔한 플러그
뻔뻔한 플러그
JVM 재사용으로 정적 객체를 사용하여 여기서 설명한 내용을 수행합니다. http://chasebradford.wordpress.com/2011/02/05/distributed-cache-static-objects-and-fast-setup/
또 다른 옵션은 더 복잡하지만 읽기 전용 메모리 매핑 파일이있는 분산 캐시를 사용하는 것입니다. 그렇게하면 JVM 프로세스 전체에서 리소스를 공유 할 수 있습니다.
-
==============================
4.내가 아는 한 여러 맵 작업 (Hadoop)이 정적 데이터 구조를 공유하는 쉬운 방법은 없습니다.
내가 아는 한 여러 맵 작업 (Hadoop)이 정적 데이터 구조를 공유하는 쉬운 방법은 없습니다.
이것은 실제로 현재 Map Reduce 모델의 알려진 문제점입니다. 현재 구현이 맵 작업에서 정적 데이터를 공유하지 않는 이유는 Hadoop이 매우 안정적으로 설계 되었기 때문입니다. 따라서 작업이 실패하면 자체 JVM 만 충돌합니다. 다른 JVM의 실행에는 영향을 미치지 않습니다.
저는 현재 여러 코어에 걸쳐 단일 JVM의 작업을 배포 할 수있는 프로토 타입을 개발 중입니다. 기본적으로 다중 코어를 사용하려면 하나의 JVM 만 필요합니다. 이 방법을 사용하면 CPU 사용 비용을 들이지 않고도 메모리 데이터 구조의 중복을 줄일 수 있습니다. 다음 단계는 하나의 JVM에서 여러 맵 작업을 실행할 수있는 Hadoop 버전을 개발하는 것입니다.이 작업은 사용자가 원하는 작업입니다.
여기에 흥미로운 게시물이 있습니다. https://issues.apache.org/jira/browse/MAPREDUCE-2123
from https://stackoverflow.com/questions/4877691/is-it-possible-to-run-several-map-task-in-one-jvm by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 아파치 스파크로 수백만 개의 작은 s3 파일을 처리하는 법 (0) | 2019.06.29 |
---|---|
[HADOOP] hbase 스캐너에서 결과 정렬 (0) | 2019.06.29 |
[HADOOP] Python Hadoop이 Windows에서 스트리밍 중이며, 유효한 Win32 응용 프로그램이 아닙니다. (0) | 2019.06.28 |
[HADOOP] 감속기의 밀폐 방법으로 방출하는 방법 (0) | 2019.06.28 |
[HADOOP] \ n \ n을 \ n으로 변환하고 ARC 형식을 깨는 hadoop (0) | 2019.06.28 |