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 4255
3916 utf8mb4의 지원 여부 문의 1 secret 김용연 2016.11.24 8
3915 저 혹시 개발에 있는 데이터를 운영에 바로 등록할 수 있는 방법이 없나요??? 5 secret 처음처럼초보 2016.08.31 8
3914 임시볼륨 문제 문의드립니다. 1 secret 라면 2016.03.31 8
3913 특정값으로 문자열을 분리하려고 합니다 1 secret 이호영 2016.02.15 8
3912 명령어 관련 질문드립니다. 1 secret 오니오니 2014.08.21 8
3911 큐브리드 매니저 데이터 수정 및 삭제, 테이블 삭제가 안됩니다 3 secret nightow 2014.03.22 8
3910 CUBRID-8.1.4.1032-linux 완전삭제 방법 1 secret rupee76 2009.06.25 9
3909 이중화 구성시 펑션 class 위치 1 secret 차차오 2015.10.19 9
3908 Standalone 2 secret 델몬트 2015.08.19 9
3907 오라클 -> 큐브리드 작업중 DB JOB 관련 1 secret 아코 2015.05.26 9
3906 문의 1 secret 수진이2 2015.05.09 9
3905 다국어 환경 구축 방법좀 알려주세요. 1 secret 초보개발자임 2015.04.17 9
3904 샤딩 관련 질문드립니다 5 secret 익명 2015.01.13 9
3903 DATABASE 생성시 오류 입니다. 확인 부탁드릴꼐요. 2 secret jhhwang 2014.07.02 9
3902 큐브리드 매니저 1 secret 쥐쥐쥐 2014.02.28 9
3901 loaddb schema 로드 에러 2 secret 소라게 2013.10.15 9
3900 큐브리드 웹 매니저에서 쿼리 수행 문의입니다. 1 secret RuneRai 2013.04.03 9
3899 HA 마법사 문의 1 secret 장경수 2013.07.05 9
3898 cubrid.jdbc.driver.CUBRIDException: Operation would have caused one or more unique constraint violations. 2 secret 소금인형 2013.06.26 9
3897 DB 백업 복구 시 오류 확인 요청 1 secret 삼돌이 2012.10.23 9
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 199 Next
/ 199

Contact Cubrid

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