[HADOOP] HDFS없이 가상 분산 작업에서 Hadoop을 실행할 수 있습니까?
HADOOPHDFS없이 가상 분산 작업에서 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.예, 가능합니다. 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을 실행합니다.
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
'HADOOP' 카테고리의 다른 글
[HADOOP] s3 또는 로컬 파일 시스템의 스파크를 사용하여 하위 디렉토리에서 재귀 적으로 파일을 읽습니다. (0) | 2019.06.08 |
---|---|
[HADOOP] Hadoop : MapReduce 작업에 입력으로 디렉토리 제공 (0) | 2019.06.08 |
[HADOOP] 도커 컨테이너에서 hadoop 클러스터 실행 (0) | 2019.06.08 |
[HADOOP] 여러 디렉토리에서 입력 파일을 가져 오는 Hadoop 작업 (0) | 2019.06.08 |
[HADOOP] namenode를 포맷하려고 할 때 주 클래스를 찾거나로드 할 수 없습니다. MAC OS X 10.9.2에 설치된 hadoop (0) | 2019.06.08 |