본문 바로가기
DataBase/NoSQL

Cassandra db 로컬설치

by Dev. Jkun 2011. 2. 11.
반응형
출처 : http://blog.naver.com/linesoft/140116791800

Cassandra db 를 내 컴퓨터 (window xp)에 설치 해보겠다.
Cassandra db 에 대한 설명은 구지 하지 않겠다. 최근에 페이스북, 트위터등 sns 서비스에서 사용하는 Nosql DB의 대표적인 오픈소스 DB 이다.

Cassandra apache URL
http://cassandra.apache.org

설치 파일 다운로드 url
http://cassandra.apache.org/download/
여기서 최신 버젼인 0.6.6. 버젼을 다운받는다.
http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.6.6/apache-cassandra-0.6.6-bin.tar.gz

설치하기전에 jdk1.6 최신 버젼이 설치되어야 한다.(cassandra db는 java 기반이다.)
자신의 컴퓨터에 최신 jdk가 설치되고 환경변수 JAVA_PATH에 지정되있으면 된다.

다운 받고 해당 압축파일을 풀면
apache-cassandra-0.6.6 폴더가 생성된다. DB 위치다.
apache-cassandra-0.6.6/bin 폴더에 들어가면 cassandra , cassandra-cli 가 있다.
DB와 Client 실행파일이다.

cassandra 명령어를 실행하면

D:\heroes\dev\db\apache-cassandra-0.6.6\bin>cassandra
Starting Cassandra Server
... 중간생략
 INFO 21:49:45,515 Starting up server gossip
 INFO 21:49:45,578 Binding thrift service to localhost/127.0.0.1:9160
 INFO 21:49:45,609 Cassandra starting up...
 INFO 21:49:45,625 Compacted to D:\var\lib\cassandra\data\system\LocationInfo-9-Data.db.  1344/563 bytes for

이렇게 DB가 실행된다.

Client를 실행해보자.

D:\heroes\dev\db\apache-cassandra-0.6.6\bin>cassandra-cli
Starting Cassandra Client
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/cassandra/cli/CliMain
Caused by: java.lang.ClassNotFoundException: org.apache.cassandra.cli.CliMain
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.apache.cassandra.cli.CliMain.  Program will exit.

실행해보면 이렇게 에러가 발생한다. 살짝 당황했다. 하지만 java 개발자라면 자주 보았던 
NoClassDefFoundError 가 발생한다. 왜 이럴까 생각한다. 라이브러리 누락되거나 위치가 잘못되어서
참조하지 못하고 있다.
cassandra-cli.bat 파일을 열어서
for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append "%%i" 구문을
for %%i in ("%CASSANDRA_HOME%\..\lib\*.jar") do call :append "%%i" 로 변경한다.

그리고 다시 실행하면 될것이다

D:\heroes\dev\db\apache-cassandra-0.6.6\bin>cassandra-cli
Starting Cassandra Client
Welcome to cassandra CLI.

Type 'help' or '?' for help. Type 'quit' or 'exit' to quit.
cassandra>


D:\heroes\dev\db\apache-cassandra-0.6.6\bin>cassandra-cli -host localhost -port 9160
Starting Cassandra Client
Connected to: "Test Cluster" on localhost/9160
Welcome to cassandra CLI.

Type 'help' or '?' for help. Type 'quit' or 'exit' to quit.
반응형

댓글