Background Image

FORUM

조회 수 25847 추천 수 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
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4443
3987 tomcat7 + cubrid 1 깽즈야 2012.07.27 91020
3986 원격접속이 안되네요????????? 2 Chris 2013.07.23 89530
3985 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다 1 바람바람 2013.05.29 84888
3984 CUBRID 7.3 + zeroboard XE 관리자 로그인 에러 1 윤희서 2009.01.17 83642
3983 cub_master: Cannot bind local address... aborting.... Address already in use 4 박상현 2008.11.28 83564
3982 큐브리드 다운로더 오류 발생 5 file 차오이 2008.11.22 78487
3981 zeroboard XE 설치시 'database connect fail' error 4 윤희서 2009.01.16 78164
3980 Image 데이터타입 사용방법 3 AD 2008.11.25 73850
3979 clob 문의 1 김해영 2012.11.29 73008
3978 linux server 환경에서 php 버전은 어떤걸로 선택해야하는지. 1 거기 2008.11.30 66366
3977 델파이에서는 어떻게 사용할수 있을까요? 2 이상원 2008.11.29 65567
3976 if exists 조건 처리문? 2 콩이아부지 2013.03.06 63606
3975 update 쿼리를 이용한 시리얼 수정에 관하여 1 인경수 2008.11.27 63453
3974 큐브리드 2008 설치시 윈도우 서비스에 등록되지 않습니다. 3 file 진이 2008.11.22 63170
3973 CUBRID 7.3 + zeroboard XE 관리자 로그인 에러 1 윤희서 2009.01.17 62130
3972 큐브리드 maven repository 관련 문의 3 StoneHouse 2013.04.30 61468
3971 메니저에서 접속 안되는 오류 2 유나인 2013.08.16 61067
3970 .NET DB 제어를 위한 방법. 2 우페 2008.11.23 60878
3969 JDK가 두개 설치된 경우 선택적으로 JDK를 설정 할 수 있는 방법은 없는지요 1 GoFly 2008.11.28 60615
3968 데이터 이관시 소유자 변경 가능한가요??? 1 델몬트 2013.08.08 60066
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

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