1. 하둡 3가지 모드 (여기서는 Pseudo-distributed 모드 설치)

Standalone (독립실행) 모드

Pseudo-distributed(가상분산) 모드

Full distributed(완전분산) 모드

1) Standalone 모드

standalone 모드는 하둡의 기본 모드이다. 하둡 소스를 받아 압축을 푼 상태에서, 하둡은 사용자의 하드웨어에 대한 정보를 가지고 있지 않다. 따라서, 하둡은 로컬 머신에서만 실행된다. 다른 노드와 통신할 필요가 없기 때문에 standalone 모드에서는 HDFS를 사용하지 않고 다른 데몬들도 실행시키지 않는다. 이 모드의 목적은 독립적으로 MapReduce 프로그램의 로직을 개발하고 디버깅하는데 있다. 따라서 다른 데몬들과 서로 주고받는 부가 작업이 필요 없다.

 

2) Pseudo-distributed 모드

pseudo-distributed 모드는 클러스터가 한 대로 구성되어 있고, 모든 데몬 역시 이 한 대의 컴퓨터에서 실행된다. 이 모드는 코드 디버깅 시 standalone 모드에서의 기능을 보완할 수 있는데, 메모리 사용정도, HDFS 입출력 관련 문제, 다른 데몬과의 상호작용에서 발생하는 일을 검사할 수 있다. standalonepseudo-distributed 모드는 모두 개발이나 디버깅 목적으로 사용된다. 실제 하둡 클러스터는 fully distributed 모드에서 실행된다.

 

3) Fully distributed 모드

모든 기능이 갖추어진 클러스터 구성이며, 분산 저장과 분산 연산의 장점을 누릴 수 있다. 클러스터를 설명할 때는 아래와 같은 서버명을 사용한다.

 

master 클러스터의 master 노드로서, NameNodeJobTracker 데몬을 제공한다.

backup SNN(Secondary NameNode 데몬)을 제공하는 서버

hadoop1, hadoop2, hadoop3, … – DataNodeTaskTracker 데몬을 실행하는 slave


2. 자바 설치

$ sudo su 명령어 입력 후 root 계정으로 로그인

 

자바 설치 명령어

Terminal

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update

$ sudo apt-get install oracle-jdk7-installer

 

3. 하둡 다운로드

http://ftp.daum.net/apache/hadoop/common/ 에서

hadoop-1.2.1.tar.gz 파일 다운로드 (기본 Downloads 폴더에 저장됨)

$ cd Downloads (하둡을 다운 받은 폴더로 이동)

$ cp hadoop-1.2.1.tar.gz /usr/local (/usr/local 폴더로 파일 복사)

$ tar zxvf hadoop-1.2.1.tar.gz (압축풀기)

 

4. PATH 설정

터미널 창에서 vim 설치

$ sudo apt-get install vim (vim 설치)

$ cd ~

$ vim .profile (열고 난 뒤)

 

export JAVA_HOME=/usr/lib/jvm/java-7-oracle

export HADOOP_INSTALL=/usr/local/hadoop-1.2.1

export PATH=$PATH:$HADOOP_INSTALL/bin

 

작성하고 저장 후 터미널 창에서

$ source .profile 명령을 통해 등록

$ hadoop 입력시 아래와 같이 그림이 나오면 정상적으로 수행되었음



 

터미널에서

$ sudo vim /usr/local/hadoop-1.2.1/conf/hadoop-env.sh

파일을 열고 제일 아래에

 

export JAVA_HOME=/usr/lib/jvm/java-7-oracle

export HADOOP_HOME=/usr/local/hadoop-1.2.1

추가 후 저장

 

5. 하둡을 실행하기 위한 원격 시스템을 설치

터미널에서

$ apt-get install openssh-server

$ /etc/init.d/ssh restart (ssh 재실행)

$ netstat ntl 입력했을 때 0 :::22 라는 Local Addr이 있으면 정상

 

ssh 설치후 ssh-keygen을 통해 마스터와 슬레이브, 한쌍의 키를 생성

$ ssh-keygen -t rsa

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

$ ssh localhost

차례대로 실행하는 암호입력 또는 정보 입력에 아무런 정보 입력 안하고 엔터로 진행


6. xml 수정

$ sudo vim /usr/local/hadoop-1.2.1/conf/core-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>hdfs://localhost:9000</value>

    </property>

    <property>

       <name>hadoop.tmp.dir</name>

       <value>/usr/local/hadoop-1.2.1/hadoop-${user.name}</value>

    </property>

</configuration>

$ sudo vim /usr/local/hadoop-1.2.1/conf/hdfs-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>dfs.name.dir</name>

       <value>/usr/local/hadoop-1.2.1/dfs/name</value>

    </property>

    <property>

       <name>dfs.name.edits.dir</name>

       <value>${dfs.name.dir}</value>

    </property>

    <property>

       <name>dfs.data.dir</name>

       <value>/usr/local/hadoop-1.2.1/dfs/data</value>

    </property>

</configuration>

$ sudo vim /usr/local/hadoop-1.2.1/conf/mapred-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>mapred.job.tracker</name>

       <value>localhost:9001</value>

    </property>

    <property>

       <name>mapred.local.dir</name>

       <value>${hadoop.tmp.dir}/mapred/local</value>

    </property>

    <property>

       <name>mapred.system.dir</name>

       <value>${hadoop.tmp.dir}/mapred/system</value>

    </property>

</configuration>

 

7. 하둡 실행

하둡 설치폴더(hadoop-1.2.1)에서 ./bin/start-all.sh 명령어를 입력 후

http://localhost:50030/jobtracker.jsp 사이트에 접속하였을 때

Map/Reduce Administration 사이트가 나오면 정상적으로 실행 완료

'Linux' 카테고리의 다른 글

CentOS OpenJDK 삭제  (0) 2014.10.22
Linux(CentOS) JAVA 설치  (0) 2014.10.22
Linux(CentOS) 사용자 관리  (0) 2014.10.21
Linux(우분투)에 이클립스 설치하기  (2) 2014.02.13
Posted by gosunari
,