'Java+jdbc+Drizzle'에 해당되는 글 2건


Drizzle은 설치되고 drizzled가 떠 있다고 가정한다

1. 우선 java부터 쓸 수 있도록 환경 구성

> java -version
으로 확인

깔려 있지 않다면 받아서 설치부터 go go(sun java 나 open jdk를 알아서...) 

sun 버전을 설치한다면
> sudo apt-get install sun-java6-jdk

다른 자바 버전들이 여러개 깔려 있는 경우는
> sudo update-alternatives --config java
There are 2 choices for the alternative java(providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6-sun/jre/bin/java       63        manual mode

Press enter to keep the default[*], or type selection number:

에서 원하는 패키지를 지정해주면 된다

2. jdbc for drizzle 을 설치하자

http://drizzle.org/wiki/JDBC/BuildingAndTesting 에서 다운로드 받고 컴파일 해야되는데 maven도 필요하고 여러가지로 귀찮다.
binary를 바로 받아서 쓰려면
http://repo2.maven.org/maven2/org/drizzle/jdbc/drizzle-jdbc/0.5/ 여기서 다운로드 받고
jar 들이 설치된 위치에 복사하자

> cp drizzle-jdbc-0.5.jar /usr/share/java

java가 실행될 때 이 jdbc가 제대로 참조되게 하려면
.profile 이나 .bashrc 에 CLASSPATH를 설정해야 한다

# Drizzle-jdbc Config
export CLASSPATH="$CLASSPATH:/usr/share/java/drizzle-jdbc-0.5.jar"

다 되었으면 다음으로...

3. Sample java code

지정된 NewtestDB라는 schema에 test용으로 a 라는 table을 생성하는 java code이다

> vi example_drizzle.java
----------------------------------------------------------------------------------------
import java.sql.*;

public class example_drizzle {

  public static void main(String args[]) {

    try {
      Class.forName("org.drizzle.jdbc.Driver");
    } catch (Exception e) {
      System.out.println(e.getMessage());
      System.exit(1);
    }

    try {
      Connection con = DriverManager.getConnection("jdbc:drizzle://localhost:4427/NewtestDB");
      Statement st = con.createStatement();
      st.executeUpdate("CREATE TABLE a (id int not null primary key, value varchar(20))");
      st.close();
      con.close();
    } catch (SQLException e) {
      System.out.println(e.getMessage());
    }
  }
}
----------------------------------------------------------------------------------------

이제 컴파일 해 본다

> javac example_drizzle.java

오류가 없으면 다음과 같이 실행해 본다

> java example_drizzle

Sep 17, 2009 6:54:22 PM org.drizzle.jdbc.internal.drizzle.DrizzleProtocol
정보: Connected to: localhost:4427
Sep 17, 2009 6:54:22 PM org.drizzle.jdbc.internal.drizzle.DrizzleProtocol close
정보: Closing connection
Sep 17, 2009 6:54:22 PM org.drizzle.jdbc.internal.common.packet.AsyncPacketFetcher run
정보: Connection closed

와 같이 출력되고 a 라는 테이블이 생성될 것이다.


저작자 표시 비영리 변경 금지
신고
블로그 이미지

Barracuda

Bryan의 MemoLog. 쉽게 익혀 보는 IT 실습과 개념원리, 코딩 세계의 얕은 맛보기들, 평범한 삶 주변의 현상 그리고 進上, 眞想, 진상들


ubuntu에서 drizzle 설치가 의외로 까다로와서, 따로 정리한다.

우선 컴파일에 필요한 아래의 패키지를 다운로드/설치한다
> sudo apt-get install libpcre3-dev libevent-dev autoconf automake bison libtool ncurses-dev libreadline-dev libz-dev g++ libssl-dev uuid-dev libpam0g libpam0g-dev gperf

libevent 가 too old 하다고 나올 경우 새 버전을 받아야 한다
> sudo apt-get install libevent-dev

libdrizzle, Google protocol buffer가 필요하다, 다운로드/설치한다.
>sudo apt-get install libdrizzle-dev libprotobuf-dev protobuf-compiler

아차, Ubuntu 9.10 Karmic은 protobuf 2.0버전이라 아래 configure 단계에서 돌다가 버전이 낮다고 짜증낼 것이다
(아래 * 에서 다시 올라 왔다면...수고~ 아마도
configure: error: Your version of Google Protocol Buffers is too old. drizzle requires at least version 2.1.0 이런 오류가 떴을 듯)

이 때는
> sudo apt-get install libprotobuf4 libprotobuf-dev
로 패키지를 대채해야 한다(귀찮네 ㅡ_-;)
그래도 안되면
unsupported(권장하지는 않지만 아쉬운 사람들을 위한...)이지만 강제로 PPA(Personal Package Archives) 패키지를
등록하여 update 시켜야 한다

-----------------------------------------------------------------------------
PPA 등록/설치는 아래 내용으로 수정됨(2010-01-25)
-----------------------------------------------------------------------------
https://launchpad.net/~drizzle-developers/+archive/build-depends 에 방문
Technical details about PPA 클릭
1. 아래 박스 내의 첫번째 라인을 드래그하여 복사(주소 복사 아님)

Ubuntu의 System>Administration > Software Source 메뉴 클릭
Third Party Software(한글로 기타 소프트웨어) 탭 클릭
Add 버튼 클릭
팝업창 내에서 Apt line 입력 박스에서 위에서 복사한 내용을 Paste

2. 위의 1의 경우 처럼 두번쨰 라인을 드래그 복사, 역시 Software Source 창에서 Add 하여 Paste

다음으로는 인증키를 복사하여 시스템에 등록해야 한다

위의 1번에서 나오는 박스 아래쪽에 Signing Key 아래 부분에서
예:  1024R/06899068 (What is this?)
1024R/06899068
에서 숫자부분(06899068)을 복사하여 Terminal 에서 아래와 같이 실행
> sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 06899068

그 다음에
> sudo apt-get update
linux package를 update 시키면 Google Protocol Buffer가 설치 완료된다.

> sudo apt-get install libprotobuf4 libprotobuf-dev

*** 만약 configure 에서 또 protobuf4 too old 어쩌고 나온다면 마지막 수단이 있다
http://protobuf.googlecode.com/files/protobuf-2.3.0.tar.gz 에서
최신버전 소스를 다운로드 받고 tar xvzf 로 압축을 푼 다음, 압축을 해제한 소스 디렉토리로 가서
> ./configure && make
> sudo make install
> sudo ldconfig
> sudo updatedb
로 수동으로 설치하면 될 것이다.
-----------------------------------------------------------------------------

https://launchpad.net/drizzle 에서 최신 버전을 다운로드 받아서
 > tar xzf *.tar.gz
 > ./configure && make <--- (*)
 > sudo make install
하여 설치한다.

* 다음은 계정 생성과 기동이다.

> sudo groupadd drizzle
> sudo useradd -g drizzle drizzle_user
> sudo mkdir /home/drizzle_user
> sudo mkdir /home/drizzle_user/drizzle
> sudo mkdir /home/drizzle_user/drizzle/data
> sudo chown -R drizzle_user /home/drizzle_user/drizzle/data
> sudo -u drizzle_user /usr/local/sbin/drizzled --datadir=/home/drizzle_user/drizzle/data

이제 drizzled Daemon의 기동이 완료되었다.

> sudo -u drizzle_user /usr/local/bin/drizzle

Welcome to the Drizzle client..  Commands end with ; or \g.
Your Drizzle connection id is 2
Server version: 7 Source distribution (drizzle)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

drizzle>

위와 같이 수행되면 완성이다.

저작자 표시 비영리 변경 금지
신고
블로그 이미지

Barracuda

Bryan의 MemoLog. 쉽게 익혀 보는 IT 실습과 개념원리, 코딩 세계의 얕은 맛보기들, 평범한 삶 주변의 현상 그리고 進上, 眞想, 진상들