이번에 연구실에서 진행하는 프로젝트를 위해 YCSB를 돌려봐야 되는데

이를 위해 Nosql DB인 Cassandra를 설치해 보겠다.


1. 다운로드

apt-get 으로도 설치할 수 있는 것 같지만 나는 최신버전은 필요 없기도 하고 물리적으로 접근할 수 없는 노드에서 설치해야하기에 관리하기가 편하기도 하고 소스코드에서 설치하는게 뭔가 안심되기도 하기 때문에 소스코드에서부터 설치하도록 하겠다.


다운로드 : http://cassandra.apache.org/


0.8.10 버전을 받아 설치하도록 하겠당!

# wget http://apache.mirror.cdnetworks.com/cassandra/0.8.10/apache-cassandra-0.8.10-src.tar.gz


2. 압축풀기

# tar -xvzf apache-cassandra-x.xx.xx-src.tar.gz


3. 자바 버전 확인

카산드라는 자바 1.6 이상의 버전에서 돌아간다.

OpenJDK, Sun 모두에서 돌아가니 버전만 간단하게 확인하고 넘어가자

# java -version


4. 환경설정

하나의 노드에 테스트용으로 설치할것이기 때문에 log폴더와 lib폴더 모두 설치폴더 안에 존재하도록 하기 위해서 폴더를 만들어준다.

(홈 디렉토리에서)

# mkdir {commitlog,log,saved_caches,data}

conf폴더에 들어가서 먼저 log4j-server.properties 파일을 보자.

중요한 부분은 log4j.rootLogger부분의 INFO를 DEBUG로 바꿔주자
이래야 서버에서 나오는 다양한 메세지들을 확인할 수 있다.

앞에서 설정한 로그폴더로 로그를 받을 수 있게 설정하자.

log4j.appender.R.File=~/log/system.log

나와서 이제 cassandra.yaml로 들어가자

data_file_directories: ~/data

commitlog_directory: ~/commitlog

saved_caches_directory: ~/saved_caches

위에서 폴더를 만들었던 곳으로 각각 고쳐준다.


만일, 하나의 컴퓨터에서 멀티 노드로 구성할 생각이라면 서로 다른 디렉토리를 사용하는것이 바람직하겠다.

또한, 아랫부분의 listen_address와 rpc_address부분도 loopback을 사용해서 127.0.0.2 같이 바꾸어야 한다.


cassandra-env.sh 파일로 넘어온다.

이 파일의 JMX_PORT부분도 위의 하나의 컴퓨터에서 멀티 노드를 구성할 때에는 서로 다르게 지정해야 한다.

5. 빌드

ant나 maven을 사용해서 빌드하면 된다.

6. 돌려본다

# bin/cassandra -f

+ Recent posts