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

90 91 92 93 94 95 96 97 98 99