이 내용은 실제로 실행해보지 않았습니다.
오타나 잘못된 내용이 있으면 덧글을 달아주시기 바랍니다.

Hadoop Quickstart

  • 목적 Purpose
  • 사전에 필요한 것들 Pre-requisites
    • 지원 플랫폼 Supported Platforms
    • 필요한 소프트웨어 Required Software
    • 소프트웨어 설치하기 Installing Software
  • 다운받기 Download
  • 하둡 클러스터 시작을 준비하기 Prepare to Start the Hadoop Cluster
  • 단독 작업 Standalone Operation
  • 가상 분산 작업 Pseudo-Distributed Operation
    • 설정 Configuration
    • 암호없이 ssh 접속하기 Setup passphraseless ssh
    • 실행 Execution
  • 완전 분산 작업 Fully-Distributed Operation

목적

이 문서의 목적은 싱글 노드에 Hadoop을 설치하기 위한 것이다. 이를 통해서 Hadoop 분산 파일 시스템과 맵/리듀스 프레임워크에 대한 맛을 볼 수 있다. 이것은 Hadoop 분산 파일 시스템에 대한 간단한 명령을 실행하고 예제 작업을 돌리는 것이다.

사전에 필요한 것들

지원 플랫폼

- 리눅스가 개발 및 실행 플랫폼으로 지원된다. Hadoop은 리눅스 환경에서 2000개의 노드를 이용해서 시연을 한 적이 있다.
-
윈도우 32비트 버전은 개발 플랫폼으로 지원된다. 분산 작업은 윈도우 32비트 환경에서는 제대로 테스트되지 않았기 때문에 실행 플랫폼으로 지원하지 않는다.

 

필요한 소프트웨어

리눅스와 윈도우에서 다음과 같은 프로그램이 필요하다.

- 자바 1.5버전, 반드시 설치되어 있어야 한다.
- ssh
는 반드시 설치되어 있어야 한다. 또한 sshd Hadoop 스크립트를 사용하고 원격 Hadoop 데몬을 관리하기 위해서 동작하고 있어야한다.


윈도우에서는 다음과 같은 프로그램이 추가로 필요하다.

- Cygwin: 쉘 스크립트 지원을 위해서 위의 프로그램과 같이 쓰여야한다.

 

프로그램 설치하기

만약 여러분의 클러스터가 필요한 프로그램들을 가지고 있지 않다면 여러분은 이것을 설치해야 한다.
우분투 리눅스의 경우:

$ sudo apt-get install ssh
$ sudo apt-get install rsync


윈도우에서는 시그윈을 설치한 후에 다음의 프로그램이 설치되지 않았다면 시그윈 인스톨러를 실행해서 다음 패키지를 선택한다.

openssh - the Net category

다운로드 받기

Hadoop 배포판을 얻기 위해서는 아파치 다운로드 미러 중 하나에서 최근의 안정버전을 받아야 한다.

Hadoop 클러스터 실행을  준비하기

다운로드 받은 Hadoop 배포판의 압축을 푼다. 이 배포판에서 conf/hadoop-env.sh 파일을 수정한다. 그리고 여러분의 자바가 설치된 장소가 JAVA_HOME으로 정의되어있어야 한다.

다음 명령을 실행한다:

$ bin/hadoop

이 명령을 입력하면 Hadoop 스크립트를 위한 사용예가 나온다.

이제 여러분들은 Hadoop 클러스터를 다음 세가지 중 한가지 모드로 실행할 수 있다:

- 스탠드얼론(로컬) 모드
- 가상-분산모드
- 완전분산모드


단독 작업 Standalone Operation

기본적으로 Hadoop은 단일 자바 프로세스처럼 비분산 모드로 설정되어있다. 이것은 디버깅을 쉽게하기 위해서이다.
다음 예제는 입력을 받고,주어진 정규표현식에 맞는 것들을  찾고서 표시하기 위해서 압축 풀린 conf 디렉토리를 복사하는 예제이다출력은 주어진 아웃풋 디렉토리에 쓰인다.

$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
 hadoop01.png
hadoop02.png
$ cat output/*

hadoop03.png

가상 분산 작업 Pseudo-Distributed Operation

Hadoop Hadoop 대몬이 여러개의 자바 프로세스를 동작시킴으로써 싱글 노드에서 가상분산모드로 동작할 수 있다.

설정

다음의 설정을 이용한다. conf/hadoop-site.xml

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>localhost:9000</value>
  </property>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>


암호문 없이 ssh에 접속하기

암호 없이 로컬호스트에 ssh 접속이 가능하도록 설정했는지 검사하고, 다음 명령을 실행한다:

$ ssh localhost


여러분이 암호없이 로컬호스트에 ssh로 접근할 수 없다면, 다음 명령을 실행하기 바란다:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


실행

새로운 분산 파일 시스템을 포맷한다:

$ bin/hadoop namenode -format


Hadoop
대몬을 실행시킨다:

$ bin/start-all.sh


Hadoop
데몬의 로그는 ${HADOOP_LOG_DIR} 디렉토리에 저장됩니다. (기본위치는 ${HADOOP_HOME}/logs)

네임노드와 잡트랙커를 위해서 웹인터페이스를 통해서 브라우징한다; 기본 설정은 다음과 같다:

    * NameNode - http://localhost:50070/
    * JobTracker - http://localhost:50030/


인풋 파일을 분산 파일 시스템에 복사한다.

$ bin/hadoop fs -put conf input


기본으로 제공되는 몇개의 예제를 실행시킨다.

$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'



아웃풋 파일을 검사한다:
아웃풋 파일을 분산파일시스템에서 로컬 파일시스템으로 복사한 후에 검사한다:

$ bin/hadoop fs -get output output
$ cat output/*


또는

분산파일 시스템에서 아웃풋 파일을 직접 본다:

$ bin/hadoop fs -cat output/*


여러분의 작업이 다 끝나면, 대몬을 종료한다:

$ bin/stop-all.sh


완전 분산 작업 Fully-Distributed Operation

완전분산형태 평범하지 않은 클러스터의 설정에 대한 정보는 다음 위치에서 확인할 수 있다.

http://hadoop.apache.org/core/docs/r0.18.0/cluster_setup.html

 

이 게시물을..