Hypertable Hadoop 파일 시스템에 설치 하기 – 1

Hypertable Hadoop 파일 시스템에 설치 하기 – 1

밑의 영문 문서는 어디어디서 퍼온 문서이고 이 한글문서는 설치 하면서

다음에 또 잊어 먹지 않기 위해서…

설치 환경: fedora 8 – 32 bit (amazon ec2), hadoop-0.17.0 x 4
(총 4대의 서버로 구성된 소형 클러스터)

1. cmake 설치 (http://www.cmake.org/)
yum install cmake

2. berkeley db 4.6+설치
sudo yum install db4-devel

yum이 없는 경우 다른 리눅스의 경우

tar -xzvf ~/Downloads/db-4.7.25.tar.gz
cd db-4.7.25/build_unix/
../dist/configure –enable-cxx
(<– 이 옵션 빼먹으면 안된다..
빼먹으면 나중에 make할때 에러가 나는데..)
make
sudo make install
echo “/usr/local/BerkeleyDB.4.7/lib” | \
sudo tee /etc/ld.so.conf.d/BerkeleyDB.conf
sudo /sbin/ldconfig

Debian 계열..(Ubuntu…)
sudo apt-get install libdb4.6++-dev

3. Boost version 1.34.1+ 설치하기 (http://www.boost.org/)

apt-get 사용시
sudo apt-get install libboost-.*-dev

yum 사용시
sudo yum install boost-devel

4. log4cpp dev lib 설치하기 (http://log4cpp.sourceforge.net/)
요놈은 뭐 yum패키지가 없는 모양이다

그냥 다운 받아서

http://heanet.dl.sourceforge.net/sourceforge/log4cpp/log4cpp-1.0.tar.gz
tar -xzvf log4cpp-1.0.tar.gz
cd log4cpp-1.0/
./configure
make
make check
make install

머 다들 알겠지만 이거 할때 gcc-c++없으면 에러가 난다
참고로 초기화된 ec2 fedora는 cpp라이브러리가 없다
없을시애는
yum install gcc-c++

5. expat dev lib 설치 (http://sourceforge.net/projects/expat)

yum 사용시
yum install expat-devel

apt-get 사용시
apt-get install libexpat1-dev

6. readline dev lib 설치

yum 사용시
yum install readline-devel

apt-get 사용시
apt-get install libreadline5-dev

7. git 설치 (이놈은 소스 코드를 다운받기 위해)

yum install git

8. zlib 설치 (ec2기본 컴퓨터에는 이것 또한 없다,
대부분의 다른 문서에는 언급조차 안한다 당연히 있을줄 알고)

yum install zlib-devel

* ncurses dev lib 위의 라이브러리들을 설치 하면 자동적으로 설치 된다
여기까지 했다면 설치의 절반은 완료이다

** 이건 옵션인데 hypertable은 메모리 할당 라이브러리로 tcmalloc을 지원한다. 뭐 강추라니까 한번 써보긴한다
궁금하신분들은 아래의 링크를 따라서 성능비교라던지 정보를 보시길.. 설치 또한 간단하다 오픈 소스 프로젝트는
대부분 ./configure->make->make install ^^

tcmalloc (http://code.google.com/p/google-perftools/)

wget http://google-perftools.googlecode.com/files/google-perftools-0.98.tar.gz
tar -xzvf google-perftools-0.98.tar.gz
cd google-perftools-0.98
./configure
make
make install

9. 체크아웃 소스 코드

mkdir hypertable
cd hypertable
mkdir src
mkdir build
cd src
git clone git://scm.hypertable.org/pub/repos/hypertable.git

10. 라이브러리 복사

필자의 경우 yum을 쓰지 않은 라이브러리가 /usr/local/lib에 들어갔다 )tcmalloc, log,,,)
이놈들을 /usr/lib/에 복사
mv /usr/local/lib/* /usr/lib/

11. 빌드 설정

cd ../build/
cmake ../src/hypertable/

참 이거 할때 주의 해야 할점은 아무 옵션을 주지 않는다면 디폴트로 /opt/hypertable에 인스톨한다

cmake -DCMAKE_INSTALL_PREFIX=../ ../src/hypertable

요렇게 하면 바로 위 폴더 방금 전에 만들었던 hypertable 폴더에 이쁘게 설치 해준다 지금 설치 하는게
아니고 설정 파일을 바꿔준다는 말이다 이렇게 바꾸고 싶은 분들은

rm CMakeCache.txt ->요러케 cmake 캐쉬 파일을 지우고
cmake -DCMAKE_INSTALL_PREFIX=../ ../src/hypertable

또 한가지 아무 옵션을 안주면 기본으로 디버그 모드로 설정이 된다, 릴리즈 모드로 컴파일 원할시 이 옵션 추가
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ ../src/hypertable

마지막 한가지 ^^
ccmake ../src/hypertable

빌드 파라메터를 바꿀수 있다

라이브러리로 만들고 싶으면
cmake -DBUILD_SHARED_LIBS=ON ../src/hypertable

12. 빌드 하기

이제 마지막 단계만 남았다 하지만 hadoop을 쓰기위해서
고려해야 할점은 현재 설치 되어 있는 hadoop을 버젼과 hypertable이
쓰는 버젼이 맞아야 한다. 만약 다르다면 필자의 경우 hadoop 폴더에 있는
hadoop-내 버젼-core.jar을 ../src/hypertable/lib/에 복사한다
cp HADOOP_HOME/hadoop-0.17.0-core.jar ../src/hypertable/lib

그리고 cmake_install.cmake 파일을 열어 hadoop 라이브러리를 바꿔줘야 한다
vim cmake_install.cmake

FILE(INSTALL DESTINATION

“${CMAKE_INSTALL_PREFIX}/0.9.0.7/java/lib”
TYPE FILE COMPONENTS “Unspecified” FILES
“/usr/local/hypertable/src/hypertable/lib/hadoop-내 버젼-core.jar”)
<- 요 부분

hypertable이 쓰는 api가 hadoop버젼에 따라 다를수 있지만
버젼 차이가 크게 나지 않는 한은 대부분 돌아간다 ^^

make (or make -j<number_of_cpu_or_cores_plus_1> 빠른 컴파일을 위해서)
make install

컴파일시에 몇개의 warning이 보인다 그냥 무시하시길…. ^^
좀 시간이 걸린다…
다 끝나면 ~/hypertable/0.9.0.7 <- hypertable 버젼
** 만약 라이브러리로 컴파일 한다면 이게 필요할지도 모른다
echo $prefix/$version/lib’ | \
sudo tee /etc/ld.so.conf.d/hypertable
sudo /sbin/ldconfig
** hypertable 빌드는 이제 끝난 셈이고 간단한 세팅을 통해서 hadoop을
이용하는 hypertable을 만들어보자
** 소스 코드 문서를 빌드 하고 싶으면

1. 이 라이브러리들을 인스톨 하고
– doxygen (http://www.stack.nl/~dimitri/doxygen/)
– graphviz (http://www.graphviz.org/)

2. cmake 설정 다시 모르는 분들은 위에 10번 보시길, 그리고 make

cd ~/build/hypertable
make doc

문서트리는 ~/build/hypertable/doc에 생성될 것이다

Comments
4 Responses to “Hypertable Hadoop 파일 시스템에 설치 하기 – 1”
  1. Tenny 댓글:

    hypertable을 설치하면서 개고생하고 있었는데,
    이글을 발견하고 드디어 설치에 성공했네요~ ㅎㅎㅎ

    많은 도움이 됐습니다. 감사합니다 ^^

  2. minsikzzang 댓글:

    저도 개고생해서 ^^ 다른 분들은 하지 마시라고 올린겁니다 ^^

  3. comeddy 댓글:

    이런 저처럼 같은이유로 잊어버릴까봐 기록해두는 분들이 또 있군요.

  4. minsikzzang 댓글:

    한번 설치해보고는 금방 잊어먹죠 ㅋㅋ 이렇게 기록해두지 않으면…

댓글 남기기