어쩌다가 휴식 중

멤베이스 설치/빌드하기 (Install/Build Membase)

DB

 

(원문 : http://www.couchbase.org/wiki/display/membase/Building+Membase+on+Linux+From+Source)

(글 번역도 영어이고, 쓸데없는 내용도 많기에 중간 생략을 하며, 편의상 글도 높임말보다 이래하기 편한 평문으로 구성한다.)

 

membase 는 couchbase 에서 지원하는 memcached의 cluster 버전이다. 라이선스는 현재 아파치 2 라이선스를 적용 중이다. Couchdb 와의 기능을 써도 되지만 안 써도 되는 구조이며, couchbase에서 제시하는 이상적인 사용 전략은 당연히 RDMS à NoSQL à CouchDB 와 cluster/middleware à Membase 이다. 하지만 사용자 취향과 능력에 따라 섞어 짬뽕으로 써도 된다. 실제 membase 의 스폰서 중하나인 nhn도 자체 memcached 클러스터 버전인 arcurs 등을 개발하여 사용한다.

설치본은 community 용은 무료로 설치본을 제공하며, 기업용은 연락처 제시 후 다운로드가 가능하다. 기본 지원으로 redhat rpm, debian deb, windows, mac os x 를 지원한다. (http://www.couchbase.com/downloads/membase-server/community)

물론 소스 코드를 받아서 직접 빌드도 가능하며, 아래는 직접 빌드 방법을 기술한다.

일단 다운로드 싸이트에서 membase-server_src-1.7.0.tar.gz 를 받는다. (현재 1.7임. 1.6.x 도 존재한다.)

 (1) Ubuntu Ubuntu 11.04 사용 시,

# sudo apt-get install erlang libicu-dev libevent-dev libcurl3-dev g++ gcc binutils

…로 필요한 것을 설치함. Couch 계열이 기반 언어가 얼랭이며, memcached를 위해서 libevent는 필요하다. Curl 도 사용하므로 설치 해준다.

 (기본 설치는 /opt/membase/ 에 설치된다.)

(2) Cent OS 5.4 사용 시,

# yum install libevent-devel curl-devel gcc-c++ g++ gcc make

…얼랭 없으면 그것도 설치할 것…

(3) Mac os x

….요건 좀 짜증나는 해설인데,, 거의 알아서 깔아야 한다. MacPorts 등을 이용해서 설치를 하는 방법도 있을 것 같다. (이건 실험 못 해봤음)

(여담으로 본햏도 snow leopard 를 사용하지만, 누가 대용량 서버에 가격대 성능비가 비싼 애플 서버로 도배하것는가?! 99.9%는 리눅스 서버에서 사용할 목적일 것이다. 맥에서 빌드는 그냥 nothing but mac 인 사람에게만 해당된다고 보면 될 듯하다. 이것도 기냥 설치본[기냥 단일 응용 프로그램이다.]을 받아서 깔아서 테스트해보라…)

http://packages.couchbase.com/releases/1.7.0/Membase-Server-Community-1.7.0.zip

 (4) Windows

…mingw, cygwin 등이 먼소리인지도 모르겠다면, 당연히 pre-built 버전을 받아서 설치하라.

http://packages.couchbase.com/releases/1.7.0/membase-server-community_x86_1.7.0.setup.exe

(백신 v3가 있으면 경고를 띄우는데, 신경쓰지 말고 진행하도록 하자 K )

membase는 cluster 와 databse 연동 등도 고려한 구조이기에 memcached 보다는 휠씬 구성이 복잡하다. 따라서 빌드 & 설치가 어려운 사람은 community 버전 것으로 설치하도록 하자.

정상설치 후, 웹 브라우저로 http://서버주소:8091 를 연결하면 membase 구성이 가능하다. 단일 구성도 가능하고, 클러스터 구성도 가능하다. 또한 기존 memcached 만을 사용하는 것도 가능하고, membase 의 주요 컨셉 중 하나인 vBucket 구성도 가능하다. 취향에 맞춰서 구성하도록 하자.

설치 후 테스트는 아래과 같이 텔넷에서 입력 후, 출력도 아래와 같이 나오는 지를 확인해 보면 된다.

$ telnet localhost 11211

set some_greeting 0 0 5

hello

STORED

get some_greeting

VALUE some_greeting 0 5

hello

END

모든 과정이 끝났으면, 이젠 membase 만의 고유 architecture 이해와 클라이언트 개발 방법(전략 및 api )이해로 넘어가면 된다…