본문 바로가기

HaDoop...?

Fedora Hadoop 설치! 완전기초

Fedora core 10에 Hadoop 설치 !

Ubuntu11.04-Desktop에 hadoop을 설치했었는데 datanode 실행 시 계속 error 때문에 해결하지 못해서 다른 머신에 다른 OS를 깔아 시작해 보았다.


환경

Linux fedora core 10 i686

hadoop은 single node로 설정


필요 프로그램

jdk

ssh


ssh는 hadoop에서 Namenode와 Datanode가 서로 통신하기 위해서 사용한다.

1. ssh 설치 및 설정

ㄱ. [root@localhost]# yum install openssh-server

ㄴ. [root@localhost]# vim /etc/ssh/sshd_config 에서 필요 환경설정 ( 보안등.. 만질 게 없으면 Pass )

ㄷ. [root@localhost]# service sshd restart

ㄹ. [root@localhost]# ssh-keygen -t rsa -P ""

ㅁ. [root@localhost]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

ㅂ. /root/.ssh/ 밑에 authorized_keys 가 생겼는지 확인


2. JDK 설치 및 설정

ㄱ. www.oracle.com에가서 맞는 환경의 JDK 파일을 다운받는다. ( JDK6 Linux x86 다운 )

ㄴ. [root@localhost]# mv /root/Download/jdk-6u31-linux-i586.bin /usr/lib/jvm/ ( 옮길 경로는 크게 상관없습니다 )

ㄷ. [root@localhost]# chmod +x /usr/lib/jvm/jdk-6u31-linux-i586.bin

ㄹ. [root@localhost]# cd /usr/lib/jvm; ./jdk-6u31-linux-i586.bin ( 혹여 오류가 날 때 다른 버전으로 설치 )

ㅁ. [root@localhost]# vim /etc/profile 

 맨 마지막에 추가

JAVA_HOME="/usr/lib/jvm/jdk1.6.0_31"

export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH

export PATH

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib

저장 후 

[root@localhost]# source /etc/profile

ㅂ. [root@localhost]# java -version 확인

java version "1.6.0_31"                                     ( 뜨면 성공, 안 뜨면 다시 차분히 처음부터 다시보기 )


3. Hadoop 설치 및 설정 (Single mode)

ㄱ. hadoop.apache.org/common/releases.html 에서 hadoop 다운로드 ( hadoop-0.20.2 설치함 )

ㄴ. [root@localhost]# tar xvfz /root/Desktop/hadoop-0.20.2.tar.gz 

ㄷ. [root@localhost]# mv hadoop-0.20.2 /usr/local ( 로 이동 후 디렉터리명을 편의상 hadoop으로 변경 )

ㄹ. 옮긴 후 hadoop 밑 conf 에서 xml 설정을 해주어야 한다.

     설정할 xml은 총 3가지로 hadoop-env.sh, core-site.xml, mapred-site.xml 이다. 

hadoop-env.sh : JAVA SDK 밑 lib 위치와 같이 hadoop이 실행될 때 필요한 환경을 설정

core-site.xml : default로 사용한 DFS(분산파일시스템)을 설정

mapred-site.xml : MapReduce 시스템 관련 정보를 설정


hadoop-env.sh 에 #The java implementation to use. Required 아래에 작성

export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_31


core-site.xml 의 <configuration> </configuration> 사이에 작성

<property>

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

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

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>


mapred-site.xml 의 <configuration> </configuration> 사이에 작성

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>


hdfs-site.xml 의 <configuration> </configuration> 사이에 작성

<property>

<name>dfs.replication</name>

<value>1</value>

</property>


( 각 설정은 인터넷과 dosc에 찾아보면 알 수 있다 )

ㅁ. [root@localhost]# vim /root/.bashrc

맨 마지막 줄에 추가

export HADOOP_INSTALL=/usr/loca/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

저장 후

[root@localhost]#  source /root/.bashrc

ㅂ. [root@localhost]# hadoop version

Hadoop 0.20.2 어쩌고저쩌고                             ( 뜨면 성공, 안 뜨면 다시 차분히 처음부터 다시보기 )


4. Hadoop 실행 준비

ㄱ. [root@localhost]# hadoop namenode -format       ( 맨 처음 실행할 때만 명령 )

ㄴ. [root@localhost]# start-all.sh                             ( 만약 Error 뜨면 Google에게 물어보길.. )

ㄷ. [root@localhost]# jps                                        ( jvm이 몇 개 돌아가는지 확인 )

JobTracker, TaskTracker, DataNode, NameNode, SrcondaryNameNode, Jps 가 뜨면 성공

하나라도 안 뜰 경우 Error ( hadoop/logs 에 log가 있다 )

jps 외 http://localhost:50070 으로 접속하면 NameNode 확인 가능 

ㄹ. [root@localhost]# stop-all.sh                            ( 모두 종료 )




p.s : 실행시켜봤는데 namenode가 오류.. 발생해서 실행이 안 된다.

Error 명은 : /usr/local/hadoop/tmpdir/hadoop-root/dfs/name is in an inconsistent state : storage directory does not exist or is not accessible.

- 해결 -> hadoop/tmpdir/hadoop-root/dfs 아래 data 디렉토리가 있다. 하지만 name 디렉터리는 없다. name 디렉터리 생성 후 재실행 


또 Error ......... 명은 : Namenode is not formatted.

- 해결 -> [root@localhost]# hadoop namenode -format 후 재실행

 

성공 ! Jps 에 전부 떴다! 이젠 각 node 별로 소스 뜯어 고쳐보고 컴파일하는 방법을 알아봐야겠다 :D 수공

p.s2 : 다 쓰고 난 후 보니까 상당히 보기 불편하다.. 글씨보기 편한 방법이랑 코드 예쁘게 보이는 방법을 찾아봐야겠다.

'HaDoop...?' 카테고리의 다른 글

JDK, ANT 설치  (0) 2012.06.29
hadoop test중 문제점  (0) 2012.05.24
hadoop 실습 examples  (1) 2012.05.03
Hadoop Multi 환경 구축!  (0) 2012.04.12
Fedora Hadoop Compile !!!  (0) 2012.03.28