Cubrid shard for Mysql 구성 중 질문 입니다.

by 태연 posted May 25, 2013

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
 Linux 64bit 
CUBRID Ver.
[cubrid_9.1.0]
CUBRID TOOL Ver.
툴 사용하지 않습니다.
응용 환경(API)


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


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요.

샤딩 기술 관련하여 미들웨어로 spock proxy와 큐브리드 사이 고민 하다가 큐브리드를 구성 중에 있습니다.


일단 테스트 환경 구성 중인데 메뉴얼 보면서 아래와 같이 구성했습니다. (DB명과 user name 완전 똑같이 했습니다.)


1. sharding middleware : CentOS 6.3 64bit, Cubrid 9.1.0 (yum 설치), MySQL(접속 테스트 위해 yum 설치)

2. shard DB : CentOS 5.4 64bit, MySQL 5.0.95에 shard_db_1, shard_db_2 두 DB 생성


cubrid service start까지는 정상적으로 되었습니다.

shard 관련 conf 파일 다 수정했는데 cubrid shard start를 하면 시작이 fail이 납니다.

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

bash-4.1$ cubrid shard start

@ cubrid shard start

failed to connect database. [shard]


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


[%shard]

SHARD_DB_NAME        = shard_db_1

SHARD_DB_USER        = shard


++ cubrid shard start: fail

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


에러 로그를 보니, 

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

Time: 05/24/13 17:39:14.340 - ERROR *** file ../src/connection/connection_cl.c, line 738 ERROR CODE = -353 Tran = -1, EID = 91

Cannot make connection to master server on host "172.27.69.131".... Operation now in progress


Time: 05/24/13 17:39:14.341 - ERROR *** file ../src/connection/connection_cl.c, line 738 ERROR CODE = -353 Tran = -1, EID = 92

Cannot make connection to master server on host "3306".... Invalid argument


Time: 05/24/13 17:39:14.341 - ERROR *** file ../src/transaction/boot_cl.c, line 1561 ERROR CODE = -677 Tran = -1, EID = 93

Failed to connect to database server, 'shard_db_2', on the following host(s): 172.27.69.131:3306

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

와 같습니다.. 


1번 서버에서 2번 서버의 MySQL shard DB쪽으로 접근을 하면 그건 또 정상적으로 됩니다.
$ mysql -h 172.27.69.131 -P 3306 -u shard -p
후에 password : shard123

Mysql shard DB쪽에서 host/user 접근이 막힌건가 해서 mysql db의 

- user table에 
host[%] user[root]   password[NULL]
host[%] user[shard] password[password('shard123')]

- db table에
host[%] user[shard] [root]

모두 추가해 둔 상황입니다.
shard start하면 cubrid에서 mysql로 user:shard pw:shard123 으로 접근하는 것 같은데 그럼 딱히 안될 이유가 없는 것 같은데 계속 헤메게 됩니다.

혹시 제가 잘못 구성한 부분이 있으면 조언 부탁 드립니다.

아래 conf 파일도 첨부 합니다.
==========================================================================
<shard.conf>
[shard]
MASTER_SHM_ID           =45001
ADMIN_LOG_FILE          =log/broker/cubrid_broker.log

[%shard]
SERVICE                 =ON
BROKER_PORT             =45011
MIN_NUM_APPL_SERVER     =1
MAX_NUM_APPL_SERVER     =1
APPL_SERVER_SHM_ID      =45011
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
SHARD_DB_NAME                   =shard1
SHARD_DB_USER                   =shard
SHARD_DB_PASSWORD               =shard123
MIN_NUM_PROXY           =1
MAX_NUM_PROXY           =1
PROXY_LOG_DIR          =log/broker/proxy_log
PROXY_LOG               =ALL
MAX_CLIENT              =10
METADATA_SHM_ID         =45092
SHARD_CONNECTION_FILE   =shard_connection.txt
SHARD_KEY_FILE                  =shard_key.txt
=======================================================================
<shard_connection.txt>
# mysql
0               shard_db_1              172.27.69.131:3306
1               shard_db_2              172.27.69.131:3306
======================================================================
<shard_key.txt>
[%shard_key_column]
#min    max     shard_id
0       128     0
129     255     1
==================================================================

감사합니다.