CUBRID shard 구성하는법

by 석이 posted Oct 18, 2014

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요 샤딩 구축하는 기술 관련하여 질문할것이 있어서 문의 드립니다.

우분투사용중입니다. [cubrid 9.3.0번전] 

컴퓨터 1대로 4개의 샤드디비를 만들어서 사용했었는데 이제는 컴퓨터 4대로 각 샤드디비 한 개씩 만들어서 테스트 환경을 구축하려고 하는데 에러가 있습니다.

shard_id(0)의 디비 이름은 wbTest1 

shard_id(1)의 디비 이름은 ip51_wbTest

shard_id(2)의 디비 이름은 ip52_wbTest 

shard_id(3)의 디비 이름은 ip53_wbTest

이렇게 구성을 했고요. 그 다음으로 cubrid_broker.conf와 shard_connection.txt, shard_key.txt가 있습니다.

====================================================================================

[%wbTest1]

SERVICE                 =ON

BROKER_PORT             =36005

MIN_NUM_APPL_SERVER     =20

MAX_NUM_APPL_SERVER     =40

APPL_SERVER_SHM_ID      =36005

LOG_DIR                 =log/broker/sql_log

ERROR_LOG_DIR           =log/broker/error_log

SQL_LOG                 =ON

TIME_TO_KILL            =120

SESSION_TIMEOUT         =300

KEEP_CONNECTION         =ON

MAX_PREPARED_STMT_COUNT =1024

SHARD                   =ON

SHARD_DB_NAME           =wbTest1

SHARD_DB_USER           =shard

SHARD_DB_PASSWORD       =shard123

SHARD_NUM_PROXY         =1

SHARD_PROXY_LOG_DIR     =log/broker/proxy_log

SHARD_PROXY_LOG         =ERROR

SHARD_MAX_CLIENTS       =256

SHARD_PROXY_SHM_ID      =36095

SHARD_CONNECTION_FILE   =wbTest_connection.txt

SHARD_KEY_FILE          =wbTest_key.txt

====================================================================================
# shard-id  real-db-name  connection-info
#                         * cubrid : hostname, hostname, ...
#                         * mysql  : hostname:port
0           wbTest1        localhost
1           ip51_wbTest    cubrid51
2           ip52_wbTest    cubrid52
3           ip53_wbTest    cubrid53
====================================================================================

[%shard_key]

#min    max     shard_id

0       124     0

125     185     1

186     225     2

226     255     3

====================================================================================
wbTest1서버에서 broker를 실행시키면 

@ cubrid broker start
failed to connect database. [wbtest1]

please check your $CUBRID/conf/cubrid_broker.conf or database status.

[%wbtest1]
SHARD_DB_NAME        = ip51_wbTest
SHARD_DB_USER        = shard
이렇게 에러가 발생합니다. wbTest1인데 wbtest1이라는 db를 찾고 있고 모르는 점이 많네요....
여기서 질문이 있습니다. 
첫번째 서버에 설정을 어떻게 해야하는지 잘 모르겠습니다. broker.conf에 ip51,52,53의 정보를 다써줘야 하는건지...
또 다른 설정을 해야하는건지요?
그리고 나머지 3개의 서버의 broker.conf와 connection.txt, key.txt는 어떻게 설정을 해야하는지 궁금합니다.
결론을 내자면 각각 다른컴퓨터에서 샤드연결을 어떻게 구성해야하는지 과정을 알고 싶습니다.
감사합니다.


Articles