2010-08-23 2 views
8

로컬 시스템에서 hadoop 응용 프로그램을 실행하기위한 옵션을 탐색 중입니다.Hadoop을 HDFS없이 가상 분산 작업으로 실행할 수 있습니까?

많은 응용 프로그램에서와 같이 처음 몇 개의 릴리즈는 사용 가능한 모든 CPU 코어를 사용할 수있는 한 단일 노드에서 실행할 수 있어야합니다 (예 : this question과 관련 있음). 현재의 한계는 프로덕션 시스템에서 Java 1.5를 사용하고 있기 때문에 최신 릴리즈 (Hadoop 0.18.3)에 바인딩되어 있습니다 (this question 참조). 죄송하지만 this new feature을 사용할 수 없습니다.

첫 번째 옵션은 가상 분산 모드에서 단순히 hadoop을 실행하는 것입니다. 기본적으로 정확히 하나의 노드에서 실행되는 모든 항목이 포함 된 완전한 hadoop 클러스터를 만듭니다.

이 양식의 "단점"은 완전한 본격적인 HDFS를 사용한다는 것입니다. 즉, 입력 데이터를 처리하기 위해서는 먼저 로컬에 저장된 DFS ...로 "업로드"해야합니다. 따라서 입력 및 출력 데이터의 전송 시간이 추가로 소요되고 추가 디스크 공간이 사용됩니다. 우리가 단일 노드 구성을 유지하는 동안이 두 가지를 모두 피하고 싶습니다.

그래서 나는 생각했다. "fs.hdfs.impl"설정을 덮어 쓰고 "org.apache.hadoop.dfs.DistributedFileSystem"에서 "org.apache.hadoop"으로 변경할 수 있습니까? fs.LocalFileSystem "?

"로컬"hadoop 클러스터 (하나의 노드로만 구성 될 수 있음)가 작동하면 추가 저장 공간 요구없이 기존 파일을 사용할 수 있으며 파일을 업로드 할 필요가 없기 때문에 더 빨리 시작할 수 있습니다. 나는 여전히 일과 업무 추적기를 가지며 모든 것을 제어하는 ​​namenode를 가질 것으로 기대한다.

누구나 전에 사용해 보았습니까? 의도 한 용도에서 너무 멀리 떨어져 있거나이 아이디어가 작동 할 수 있습니까?

또는 동일한 효과를 얻는 더 좋은 방법이 있습니까? HDFS가없는 가상 분산 작업?

의견을 보내 주셔서 감사합니다. EDIT 2


:

이 난 bajafresh4life 의해 제공된 응답을 사용 0.18.3 CONT/하둡에 site.xml 하둡 위해 만들어진 구성이다.

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 

<!-- Put site-specific property overrides in this file. --> 

<configuration> 
    <property> 
    <name>fs.default.name</name> 
    <value>file:///</value> 
    </property> 

    <property> 
    <name>mapred.job.tracker</name> 
    <value>localhost:33301</value> 
    </property> 

    <property> 
    <name>mapred.job.tracker.http.address</name> 
    <value>localhost:33302</value> 
    <description> 
    The job tracker http server address and port the server will listen on. 
    If the port is 0 then the server will start on a free port. 
    </description> 
    </property> 

    <property> 
    <name>mapred.task.tracker.http.address</name> 
    <value>localhost:33303</value> 
    <description> 
    The task tracker http server address and port. 
    If the port is 0 then the server will start on a free port. 
    </description> 
    </property> 

</configuration> 

답변

6

예, 가능합니다. 0.19.2를 사용하고 있지만 가능합니다. 나는 0.18.3에 익숙하지 않지만 차이를 만들어 내지 말아야한다고 확신한다.

fs.default.name이 기본값 (file:///)으로 설정되고 mapred.job.tracker이 작업 추적자가 호스팅되는 곳을 가리 키도록 설정되어 있는지 확인하십시오. 그런 다음 bin/start-mapred.sh를 사용하여 데몬을 시작하십시오. namenode 또는 datanode를 시작할 필요가 없습니다. 이 시점에서지도/삭감 작업을 실행할 수 있어야합니다. bin/hadoop jar ...

이 구성은 NFS를 통해 마운트 된 Netapp 기기를 사용하는 작은 머신 클러스터에서 Hadoop을 실행하는 데 사용되었습니다.

+0

예, 감사합니다. 그건 잘된거야. 나는 더 많은 테스트를 한 후에 설정을 게시 할 것이다. –

관련 문제