복붙노트

[HADOOP] HDFS없이 가상 분산 작업에서 Hadoop을 실행할 수 있습니까?

HADOOP

HDFS없이 가상 분산 작업에서 Hadoop을 실행할 수 있습니까?

로컬 시스템에서 hadoop 애플리케이션을 실행하기위한 옵션을 탐색 중입니다.

많은 응용 프로그램에서와 같이 처음 몇 개의 릴리스가 단일 노드에서 실행될 수 있어야합니다. 가능한 모든 CPU 코어를 사용할 수 있어야합니다 (예,이 질문과 관련 있음). 현재의 한계는 프로덕션 시스템에서 Java 1.5를 사용하므로 최신 릴리스로 Hadoop 0.18.3에 바인딩된다는 것입니다 (이 질문 참조). 불행히도 우리는 아직이 새로운 기능을 사용할 수 없습니다.

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

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

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

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

아무도 전에 이것을 시도 했습니까? 작동 할 수 있습니까, 아니면 의도 한 용도에서 너무 멀리 떨어져있는이 아이디어입니까?

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

통찰력을 가져 주셔서 감사합니다.

편집 2 :

이것은 내가 hadoop 0.18.3을 위해 만든 설정입니다. conf / hadoop-site.xml에서 bajafresh4life가 제공 한 대답을 사용하십시오.

<?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>

해결법

  1. ==============================

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

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

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

    이 구성을 사용하여 NFS를 통해 마운트 된 Netapp 장비를 사용하는 작은 머신 클러스터에서 Hadoop을 실행합니다.

  2. from https://stackoverflow.com/questions/3546025/is-it-possible-to-run-hadoop-in-pseudo-distributed-operation-without-hdfs by cc-by-sa and MIT license