이번에 연구실에서 진행하는 프로젝트를 위해 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