하둡을 써보자.
하둡에 대한 책을 읽고 있긴한데 이게 태어난 목적이
분산파일 시스템으로서 더 큰 용량의 파일들을 저장하기 위함인지
그러한 데이터들을 빠르게 분석하기 위함인지 잘 모르겠다.
Standalone 모드에서의 예제가 map reduce가 딱 실행되는걸로 봐서는
후자인 것 같기도하고.. 어쩌면 둘 다겠지.. hadoop이 기본적으로
수정되지 않는 파일만 저장이 된다고 하니 분석에 대한 목적이 더 클지도 모르겠다..
아무튼 더 공부를 해봐야 할 것 같고...
우선 Hadoop 라이브러리를 다운 받는다. (http://hadoop.apache.org/)
나는 0.20 버전을 사용했다.
일단 Mac에서 ...
적당한 디렉토리에 받은 파일을 넣고 압축을 해제한다.
need4spdui-MacBook-Air:Java need4spd$mkdir hadoop
need4spdui-MacBook-Air:Java need4spd$gzip -d hadoop-0.20.203.0rc1.tar.gz
need4spdui-MacBook-Air:Java need4spd$tar -xvf hadoop-0.20.203.0rc1.tar
그러면 이 상태.. 그러니까 풀고 아무것도 안 한 상태가 standalone모드로 실행 할 수 있는
confing상태이다.
우선 JAVA_HOME을 설정해주자.
HADOOP_HOME에 conf디렉토리를 보면 hadoop-env.sh 파일이 있는데 열어서
JAVA_HOME을 찾아서 설정해준다.
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
테스트는.. 아래와 같이.. example jar안에
이런저런 샘플코드들이 있는 듯 하다. 다만 실행하기 위해서 jar를 풀어서
META-INF를 제거해줘야 한다. (위 링크한 성주님 블로그 참고)
1. Jar를 풀고 다시 Packaging
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$cd /Users/need4spd/Java/hadoop/hadoop-0.20.203.0
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$mkdir temp
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$cp hadoop-examples-0.20.203.0.jar ./temp
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$cd temp
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$jar -xvf *.jar
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$rm -rf META-INF
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$rm *.jar
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$jar cvf ../hadoop-examples.jar *
2. Test파일 생성
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$cd ..
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$vi input.txt
R
R
R
r
r
r
r
r
3. 실행
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$ cd bin
4. 결과조회
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$cd ouput
need4spdui-MacBook-Air:hadoop-0.20.203.0 need4spd$vi part-r-00000
샘플코드를 보니 HFS를 사용하여 여러가지 분석을 할 수 있는 코드도 개발이 가능 할 것 같다
이제 첫 걸음이니... 욕심내지말고 차분히 가봐야지...