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