Skip to content

국내 유일! 카산드라 C드라이버 설치 한글 가이드! - Cassandra C/C++ Driver Sample code and Install files

Notifications You must be signed in to change notification settings

nicewoong/cassandra_c_driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

필요에 의해 Ubuntu 에서 카산드라 C/C++ 드라이버 사용을 시도해 봤습니다. 한글로 따라하기가 없어서 혼자 시행착오를 겪으며 초간단 가이드를 작성해봤습니다. 샘플 코드, 그리고 설치 파일들도 함께 모아놨습니다. 자세한 시행착오 기록은 저의 블로그에서 확인할 수 있습니다.



1. Download and Install Cassandra C/C++ Driver

참고 링크


  • cpp-driver 다운로드 서버와 dependancies 다운로드 서버에 접속하면 .deb 파일이 각 세 개씩 올라가 있다.
  • 현재Repository에서도해당파일확인가능



A) .deb 파일 모두 다운받기.

  • 현재 Repository를 Clone하면 설치파일이 모두 포함되어 있다.

  • 때문에 별도로 다운받을 필요가없다. 하지만 버전 최신화가 안 될 수 있으니 직접 다운로드 받는 것을 추천 드린다.

  • wget 명령어를 이용해서 다운로드 서버에서 단운로드 한다.

    • url 은 위 다운로드 서버에서 해당 파일을 오른쪽 클릭해서 링크를 얻어왔다.

      $ sudo wget http://downloads.datastax.com/cpp-driver/ubuntu/16.04/cassandra/v2.8.1/cassandra-cpp-driver_2.8.1-1_amd64.deb
      
  • Cassandra-cpp-driver패키지와 cpp-driver-dependancies 에 ...-dbg...-dev 파일 등을 모두 다운로드 한다.

  • 그러면 총 여섯개의 파일을 다운로드한다.

      $ ls -l
      -rw-r--r-- 1 root root  419554 Feb 15 02:48 cassandra-cpp-driver_2.8.1-1_amd64.deb
      -rw-r--r-- 1 root root 8651010 Feb 15 02:48 cassandra-cpp-driver-dbg_2.8.1-1_amd64.deb
      -rw-r--r-- 1 root root  535830 Feb 15 02:48 cassandra-cpp-driver-dev_2.8.1-1_amd64.deb
      -rw-r--r-- 1 root root   60990 Feb 15 02:48 libuv_1.18.0-1_amd64.deb
      -rw-r--r-- 1 root root  197746 Feb 15 02:48 libuv-dbg_1.18.0-1_amd64.deb
      -rw-r--r-- 1 root root   80032 Feb 15 02:48 libuv-dev_1.18.0-1_amd64.deb
    





(참고) .deb 파일이란?

  • .deb은 데비안의 소프트웨어 패키지 포맷의 확장자
  • 패키지 관리 시스템
  • 데비안 소프트웨어 포맷의 바이너리 패키지에서 가장 자주 사용되는 파일 이름이다.
  • 데비안 패키지는 데비안 기반의 GNU/리눅스 배포판 (우분투 등)에서 동작한다.
deb 파일 설치
    # dpkg -i [deb파일]

B) 다운로드 받은 .deb 파일을 모두 설치한다.

  • dpkg를 통해 설치를 시도했는데 아래와 같은 오류가 발생

      # dpkg -i cassandra-cpp-driver_2.8.1-1_amd64.deb 
      Selecting previously unselected package cassandra-cpp-driver.
      (Reading database ... 5073 files and directories currently installed.)
      Preparing to unpack cassandra-cpp-driver_2.8.1-1_amd64.deb ...
      Unpacking cassandra-cpp-driver (2.8.1-1) ...
      dpkg: dependency problems prevent configuration of cassandra-cpp-driver:
       cassandra-cpp-driver depends on libuv; however:
        Package libuv is not installed.
    
  • libuv 가 필요하다고 한다.

  • 그렇다. libuv 파일을 dpkg를 통해 설치하고나서 cpp-driver를 설치하니깐 에러 없이 순식간에 끝이났다.

      # dpkg -i cassandra-cpp-driver_2.8.1-1_amd64.deb 
      (Reading database ... 5083 files and directories currently installed.)
      Preparing to unpack cassandra-cpp-driver_2.8.1-1_amd64.deb ...
      Unpacking cassandra-cpp-driver (2.8.1-1) over (2.8.1-1) ...
      Setting up cassandra-cpp-driver (2.8.1-1) ...
      Processing triggers for libc-bin (2.23-0ubuntu10) ...
    



2. 테스트 코드 작성해보기 sample.c

  • #include <cassandra.h> 를 포함시켜서 샘플코드를 작성해 봤다.

  • Repository 의 sample.c 또는 sample_modularized.c 참고.

  • sample_modularized.csample.c 를 코드를 함수로 구성해 모듈화한 것이다.



3. 샘플코드 컴파일 및 실행하기

  • sample.c를 만들어서 #include <cassandra.h> 를 포함시켜서 컴파일 해봤다.

        # gcc sample.c -o test // error occur!
    
  • 그냥 컴파일하면 오류가 발생한다.

  • 아래와 같이 Cassandra C/C++ Driver library 를 설정하며 컴파일 해야 한다.

        # gcc sample.c -o test -L/usr/lib/ -lcassandra
    
  • test 실행파일을 실행하면 아래와 같이 출력이 된다. 근데 connect result에 아무것도 출력 안 된다..;

      # ./test 
      Connect result:
      Query result:
    
  • 그렇다. 이것은 성공한 것이었다. 에러 메시지가 없다는 것이다.

  • 쿼리하는 코드를 추가해서 실행하고, 카산드라서버에서 확인해 보니 잘 적용이 됐다.


  • Installation 설명에 아래와 같이 적혀있는데, 무슨 뜻이지!!!????

Note: CentOS and Ubuntu use the version of OpenSSL provided with the distribution.

About

국내 유일! 카산드라 C드라이버 설치 한글 가이드! - Cassandra C/C++ Driver Sample code and Install files

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages