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 49
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3934 하이버네이트 페이징 처리 7 질주하는구 2015.02.11 8268
3933 하이버네이트 uniqueResult 함수 사용 문의 1 kim77p 2018.05.15 461
3932 하나의 쿼리에서 복수 테이블 업데이트 방법 문의 4 도담도담 2023.05.17 136
3931 하나의 노드에 여러개의 db가 있을때, ha 구성을 안한 db는 사용하지 못하는 문제. 1 깜장매2 2014.12.09 5713
3930 필드명 대문자로 바꾸는법좀 알려주세요 1 초보개발자임 2015.01.16 6255
3929 필드 크기 변경 계획에 대한 질문 3 유니콘 2012.04.04 7447
3928 필드 크기 변경 계획에 대한 질문 1 유니콘 2010.07.23 9903
3927 필드 추가시 빨랐던 select문 느려지는 이유 3 나라디 2023.02.10 127
3926 프로시져 호출에러 2 secret blast 2013.11.01 8
3925 프로시져 에러 처리 관련해서... 2 펌피 2017.09.04 1206
3924 프로시저와 함수 관련 질문이 있습니다... 1 bjosbkjx 2019.07.11 239
3923 프로시저 클래스 등록 관련입니다. 1 mon 2020.04.16 173
3922 프로시저 질문드립니다. 2 file hiy5978 2020.05.25 236
3921 프로시저 오류가 무엇때문에 나는지 모르겠습니다. 4 file 펌피 2017.10.20 1652
3920 프로시저 사용시 1 경아 2009.08.03 10095
3919 프로시저 변환 문의 2 천상 2016.06.15 9785
3918 프로시저 unload 문의 1 chocob 2014.06.19 6233
3917 프로시저 resultset 문의 secret 신데렐라 2013.05.23 10
3916 프로시저 질문입니다. 1 닐릴리 2019.02.15 328
3915 프로세스 정상동작 문의 드립니다. 2 file 윤희서 2009.01.23 33635
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