티스토리 뷰

Hadoop 2.5.1 Pseudo-distributed mode Installration Guide.

hadoop cluster를 구성하기 위해 기본이 되는 가상 분산 시스템 설치에 대해 알아보고

map reduce 테스트를 진행 하였다.

1. Download

http://apache.mirror.cdnetworks.com/hadoop/common/hadoop-2.5.1/

2. Pseudo-Distributed Mode 설치

분산환경을 만들기 위한 가상의 환경을 설정 할 수 있다.

$HADOOP_HOME/etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

$HADOOP_HOME/etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

Setup passphraseless ssh

ssh 로컬 접속 패스워드없이 접근가능 하도록 공개키를 만들어 등록합니다.

 $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

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

위 설정을 마치면 패스워드 없이 바로 접속이 가능하다.

$ ssh localhost
Welcome to Ubuntu 12.10 (GNU/Linux 3.8.1-030801-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

New release '13.04' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Thu Oct  2 11:18:13 2014 from 192.168.0.33
rocksea@rocksea:~$

java 환경변수 설정

$HADOOP_HOME/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/java/latest
export HADOOP_PREFIX=/home/rocksea/work/hadoop-2.5.1

3. Execution

Filesystem 포맷

$ bin/hdfs namenode -format

Namenode & Datanode Daemon 실행

$ sbin/start-dfs.sh

프로세스 확인


$ sudo jps

2915 DataNode
2782 NameNode
3107 SecondaryNameNode


$ netstat -ntpl

tcp  0  0 0.0.0.0:50070  0.0.0.0:*   LISTEN  5359/java

tcp  0  0 0.0.0.0:50010  0.0.0.0:*   LISTEN  5558/java

tcp  0  0 0.0.0.0:50075  0.0.0.0:*   LISTEN  5558/java

tcp  0  0 0.0.0.0:50020  0.0.0.0:*   LISTEN  5558/java

tcp  0  0 127.0.0.1:9000  0.0.0.0:*  LISTEN  5359/java

tcp  0  0 0.0.0.0:50090   0.0.0.0:*  LISTEN  5846/java

네임노드 Web Interface

http://localhost:50070/

4. Pseudo-Distributed Test

맵리듀스 작업을 위해서 유저 디렉토리를 생성한다.

$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>

맵리듀스 테스트를 위한 테스트 파일을 추가한다.

$ bin/hdfs dfs -put 
hadoop input

맵리듀스 실행

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

맵리듀스된 결과파일을 출력.

$ bin/hdfs dfs -get output output
$ cat output/*

6       dfs.audit.logger
4       dfs.class
3       dfs.server.namenode.
2       dfs.period
2       dfs.audit.log.maxfilesize
2       dfs.audit.log.maxbackupindex
1       dfsmetrics.log
1       dfsadmin
1       dfs.servers
1       dfs.replication
1       dfs.file

위와 같이 나오면 맵리듀스 실행 성공.

참조 : http://hadoop.apache.org/docs/r2.5.1/hadoop-project-dist/hadoop-common/SingleCluster.html


댓글