본문 바로가기

HaDoop...?

Fedora Hadoop Compile !!!

어제는 머신에 Hadaoop을 싱글모드로 설치해 보았고, 오늘은 Hadoop source를 수정하여 컴파일해볼 것이다. 간단하게 System.out.println() 으로 찍어볼 것이다.

우선 컴파일할 때 크게 두 종류로 나눈다. Eclipse를 통해서 컴파일 방법이 있고, 그냥 vim에서 ant만 설정해서 컴파일하는 방법이 있다. 물론 Eclipse에서도 ant를 써서 컴파일하긴 하는데. GNOME을 안 깔아서 vim으로 할 것이다.


1. Ant 설치 및 설정

 Ant를 설치하기 전에 Ant를 나도 몰라서. 그냥 hadoop/bin 안에 있는 스크립트인 줄 알았는데 아니었다. 간단히 뭐구나~ 라고만 알고 넘어가자.

 Ant는 Java기반인 빌드 도구이다. 요즘은 Eclipse라는 좋은 IDE가 있어서 Ant를 사용하지 않아도 알아서 다 해준다.

하지만 Eclipse를 사용하지 않을 때 혹은 못할 때 Ant를 사용하게 되면 아주 편리하게 컴파일을 할 수 있다.

( 인용 : http://pandora.tistory.com/36 ) 

정말 간단하게 ant를 설치하고 컴파일하려는 프로젝트의 홈 디렉터리에 가서 ant 명령어만 치면 프로젝트 홈 디렉터리에 있는 build.xml에 정의된 정책에 따라 컴파일한다. 고로 Ant깔고 build.xml 만져주고 jar 명령어만 치면 된다.

 본격적으로 설치를 해보자.

ㄱ. http://ant.apache.org/bindownload.cgi 에 가서 아무거나 다운받는다. ( wget을 쓰던 WinScp를 쓰던 마음대로. )

ㄴ. [root@localhost]# tar xvfz apache-ant-1.8.3.tar.gz ( 압축 해제 )

ㄷ. [root@localhost]# mv apache-ant-1.8.3 /usr/local/ant ( 편의상 디렉터리를 ant로 바꾸고 local 밑으로 이동 )

ㄹ. [root@localhost]# vim /etc/profile 에서 설정

** 어제 Fedora Hadoop 설치에 JDK 설치하면서 환경변수를 설정하였다. 그 상태에서 추가한다.

=================================================================

JAVA_HOME="/usr/lib/jvm/sun-java6-jdk"

export JAVA_HOME

ANT_HOME="usr/local/ant"            ( 이 줄은 추가 )

export ANT_HOME                        ( 이 줄도 추가 )

#PATH=$JAVA_HOME/bin:$PATH     ( 기존 줄 주석 )

PATH=$PAHT:$ANT_HOME/bin        ( 주석하고 새로 추가 )

export PATH                    

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib

=================================================================

[root@localhost]#  source /etc/profile

[root@localhost]# ant -version

Apache Ant (TM)  version 1.8.3 compiled on February 26 2012             ( 나오면 성공, 안 나오면 다시 )


2. Hadoop Source 수정 후 컴파일

DataNode.java는 hadoop/src/hdfs/org/apache/hadoop/hdfs/server/datanode 밑에 있다.

vim으로 오픈해서 DataNode 생성자와 startDataNode에 println()으로 찍어보자

( 프로그래밍은 기본적으로 할 줄 아는 조건에 코딩 부분은 생략 )

자 수정했으면 .. 다시 Hadoop 홈으로 돌아와서 시작

ㄱ. [root@localhost]# ant jar             ( 처음 시작은 조금 걸린다 build.xml의 정책대로 컴파일한다. )

컴파일이 다 되면 build 라는 디렉터리가 하나 생기고 그 안에 hadoop-0.20.3-dev-core.jar 뭐 이런 비슷한 게 생긴다

그 jar 파일을 hadoop 홈에 hadoop-0.20.2-core.jar로 이름 바꿔 옮기고 기존에 jar는 혹시 모르니 다른 이름으로 바꿔놓는다.

ㄴ. [root@localhost]#  mv build/hadoop-0.20.3-dev-core.jar ./hadoop-0.20.2-core.jar

ㄷ. [root@localhost]#  bin/hadoop-daemon.sh start datanode

Start DataNode kth ------------------------

StartDataNode !!!!

라고 찍혔다... 그냥 헬로월드 찍을것을.. 올리고 나니 밀려오는 창피함...

어쨌든 성공했다. Ubuntu에서 할 땐 진짜 말도 안 되는 오류들로 고생했는데.. Fedora는 잘된다.

Debian 계열 OS는 나랑 안 맞는가보다 ;; VPN 프로젝트 할 때도 Redhat 기반에서만 잘 돌아갔다.


p.s : 으외로 삽질할 줄 알았는데 빨리 끝났다. 이젠 Datanode와 NameNode, HDFS 구조 분석해서 코딩하면 된다.

'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 설치! 완전기초  (0) 2012.03.27