Background Image

FORUM

조회 수 25848 추천 수 0 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

안녕하세요... CUBRID 4.0 HA 관련해서 질문드립니다.

 

개발 환경

Tools : STS(SpringSource Tool Suite) 2.5.1

Framework : Spring 3.0.4

DB : iBatis 2.3.4.726

 

지금 HA 구성을 위해 설정한 값은 밑에 HA 파일 설정.txt로 첨부하였습니다.

 

그리고 큐브리드 메니져 상에서 봤을때 문제가 되는 부분도 같이 올렸습니다...

 

저렇게 설정한후에...

 

Master에서

$cubird heartbeat start

$cubrid service start

실행후 30초후쯤 Slave에서 동일하게 실행했습니다...

구동은 이상없이 되었고요...

 

JDBC

database.url=jdbc:CUBRID:124.243.xxx.8:30000:test:::?althosts=124.243.xxx.20:30000&rctime=600&charset=UTF-8

 

이렇게 설정해주었습니다.

일단 Master/Slave 두개다 구동되고...

 

이상없이 웹에서 추가 등록 삭제가 됩니다...

 

그후에 Active를 죽인뒤...

SELECT는 이상없이 Slave에서 가져옵니다...

그후에 Insert를 하면 Insert한게 화면에 출력이 되지를 안습니다...

다시 그후에 Master를 살리고 웹을 다시 죽였다 살리면 Insert헀던게 이상없이 나타납니다...

 

여기서 다시 Master를 죽이면... Inster헀던게 사라집니다...

 

그리고 밑에 이미지에 첨부했듯이... 메니저상에서 저런 상태로 뜨는데...

뭐가 문제인지 찾지를 못하겠네요...

 

그럼 좋은 답변 부탁드리겠습니다~

  • ?
    tigger 2011.05.16 21:22

    안녕하세요~

    혹시 master 를 죽이셨다는게 어떻게 죽이신 것인지 알 수 있을까요?

    가령 CM을 통해 죽였다던가, 아니면 Master 장비에서 cubrid 유틸리티를 통해 죽이셨나요?

     

    CUBRID의 HA 환경에서 failover 가 되기 위해서는 Master에서 cubrid service stop으로 내리셔야 합니다.

    만약 cubrid server stop 등으로 해당 DB만을 내리신 경우 failover 가 되지 않으므로,

    원하셨던 동작이 안될 수 있습니다.

     

  • ?
    반짝이 2011.05.16 22:05
    cubrid service stop 으로 죽였습니다...

    cubrid service stop 후에 메니져에서 확인하면 Master는 Disconnect 상태가 되고...

    Slave는 Active 상태로 변합니다...

    Master가 죽은 상태에서...

    JDBC가 Slave로 접속되는거까지는 됩니다... 이상황에서 SELECT 까진 되는데

    INSERT 했을경우에... 문제가 있습니다...

    SLAVE 상에서는 INSERT 후에 DATA가 안들어 간걸로 보이는데...

    MASTER를 살린후에 확인하면 MASTER에는 이상없이 들어갑니다...

    그리고, 위에 그림파일 첨부한거에서 보시면... 느낌표가 있는데 왜그런지 모르겠습니다...

  • ?
    반짝이 2011.05.16 22:27

    질문 추가 사항입니다...

    기존에 R3.1 버젼에서 4.0 버젼으로 옮겼습니다...

    csql -S -u dba -p password -i /usr/local/CUBRID/share/scripts/check_reserved.sql test

    ...

    There are no results.

    특별히 변경해줘야할사항이 없는것으로 판단하고...

    3.1 메니져를 통해서 데이터베이스 언로드 실행

    그후에 4.0 설치후에 Manager로 Master와 Slave에 똑같이 test로 DB 생성해주고...

    페이지 크기 및 기타설정 똑같이 잡아주고 Load를 해주었습니다...

     

    Master가 Active 상태일때는 INSERT/UPDATE/DELETE/SELECT 이상없이 수행됐습니다...

    Master를 cubrid service stop로 서비스를 죽이면

    Standby HA 상태이던 Slave가 Active 상태가 되고...

    여기서 INSERT 작업을 실행하면... 데이터 추가된게 적용이 안됩니다...

    그리고 다시 Master에

    cubrid heartbeat start

    cubrid service start

    한뒤...

    CUBRID에서는 Master 복구시 현재 failover가 자동으로 안일어 난다고 메뉴얼에 나와있어서

    Slave에

    cubrid service stop을 실행했습니다...

    그럼

    standby 이던 master가 Active가 되고... 기존에 Slave에서 Insert 했던 데이터들이 보입니다...

  • ?
    tigger 2011.05.16 23:20

    Node 1 : Master,  Node 2 : Slave 라고 가정을 하고 아래 말씀 드리겠습니다.

     

    정리해 보면,

    맨 처음 failover 되어 Node 2가 Master 가 되었을때,

    insert는 수행이 되지만, Node2를 통해 select 결과가 보이지 않다가,

    Node 1을 start 후 Node 2를 재시작 하여 Node 1 이 Master, Node 2가 Slave 상태로 되었을 때는

     Node 2를 통해 select 결과가 보인다는 뜻이죠?

     

    위의 상황이라면, 맨 처음 failover 시에 insert 된 데이터는 기존의 Slave 장비와 기존의 Master장비에 모두 insert 된 데이터가 있는 것입니다.

    따라서 왜 INSERT는 되었는데 SELECT는 되지 못하였는가?? 를 생각해 보아야 합니다.

     

    1.  csql을 통한 insert 결과 확인

    ==> Node1이 Down 되었고, Node2가 Master가 된 상황에서 csql dbname@Node_1_node_name 으로 접속하여 select 한 결과를 확인 부탁드립니다.

    ==> 이 이유는 select 값을 가져오지 못한 이유가 어디에 있는지 좀 더 확인해 보기 위함입니다.

     

    2. Broker 의 log 확인

    ==> Node1이 Down 되었고, Node2가 Master가 된 상황에서, JDBC 가 접속한 Broker 의 log 를 첨부해 주실 수 있나요?

    ==> 이는 Broker쪽의 INSERT/SELECT의 리턴을 확인하여 SELECT만 실패한 이유를 확인해 보고자 합니다.

     

    3. broker 장비(124.243.xxx.8과 124.243.xxx.20)의 databases.txt 정보

    ==> 이것을 확인하는 이유는, Node 1이 Down 되었고, Node 2가 Master 가 된 상황에서 Broker 가 어떤 DB를 찾아가는지에 대한 설정이 databases.txt에 있기 때문입니다.

  • ?
    반짝이 2011.05.17 00:58

    지금 브로커쪽으로해서 다시 테스트 해보고 있습니다...

     

    아 추가적으로 메니져에서 보면 느낌표나오는거랑... HA 데이터베이스 추가 활성화 안되는거...

     

    Unknown 뜨는거 왜그런지 알수있을까요?

  • ?
    샤롱스판 2011.05.17 01:33

    일단, HA기능은 정상적으로 동작하는 것 같습니다. 다만 CM이 내부적으로  JDBC를 이용하여 연결 정보를 구성하는데, HA 구성 환경의 슬레이브 노드에 대해 연결 정보 구성에 오류가 있는 것으로 추측하고 있습니다. 개발부서에서 분석하고 있으며, 추가 정보 있으면 알려 드리겠습니다. 감사합니다~


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 51
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
894 ORDER BY ** ASC 조건과 offset 조건이 같이 있을 경우 발생되는 오류 문의 7 file 충이 2019.05.22 298
893 ORACLE의 STRING_AGG와 같은 기능을 하는 함수 구현 관련 2 ihyeon0214 2021.10.14 425
892 ORACLE의 DBMS_XMLGEN.GETXMLTYPE를 CUBRID 변형 방법 요청 1 Rkakrnl 2019.05.16 741
891 ORACLE_STYLE_EMPTY_STRING 설정 값에 의한 TRIM 처리에 대한 문의 1 zeroradish 2020.10.14 102
890 ORACLE DB LINK 문의 1 secret MJHan 2012.10.24 6
889 OPENROWSET 을 사용한 검색결과 문의 5 file idonot 2013.01.17 12771
888 OPENROWSET EXCEL SELECT 문의 2 강창순 2017.05.13 3979
887 OODB특성을 사용하기 위해 DBCP를 포기하는게 적당할까요? 2 안지민 2011.03.30 9614
886 ON DUPLICATE KEY UPDATE 사용시 affected rows 에 관한 질문 1 Xenos 2012.05.09 15021
885 OLEDB 이용하여 OUTER JOIN 에러 1 redhope 2010.12.04 8671
884 OLEDB 연결시 에러 db_e_sec_auth_failed ( 0x80040E4D ) 1 BlueHeart 2014.07.07 6231
883 OLEDB 연결 시 에러 발생 4 늘푸른거북이 2009.02.12 22252
882 OLEDB 에서의 DATE_FORMAT 함수 문의에 대한 답변은 언제쯤? 2 유니콘 2010.08.18 9866
881 OLEDB 에서의 DATE_FORMAT 함수 문의 4 유니콘 2010.08.16 11964
880 OLEDB 에서 OID 자동으로 가져오게 하는 방법? 2 서명호 2009.05.01 13374
879 OLEDB 설치시 오류 15 file choiboss 2012.10.20 16042
878 OLEDB insert관련 질문입니다. 1 garfield39 2009.02.05 16334
877 OLEDB Driver Error... 4 flypig 2009.04.24 13259
876 OLE 접속 테스트가 안되네요.ㅜ.ㅜ 도와주십셔서오요~ 2 file 해커킬러 2009.08.28 9068
875 OLE DB에서 자바 저장프로시져 사용 1 secret shadow54 2010.07.19 8
Board Pagination Prev 1 ... 151 152 153 154 155 156 157 158 159 160 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales