Background Image

FORUM

2014.01.07 00:42

c# asp.net HA및 브로커

조회 수 11923 추천 수 0 댓글 12
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
 CentOS 6.3_x64(가상화 서버)
CUBRID Ver.
8.4.3.3086
CUBRID TOOL Ver.
8.4.3.3086
응용 환경(API)
asp.net c# 4.0

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


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

c#  asp.net상에서 HA상에서 db가 죽거나 ha가 죽을경우 다른쪽 HA로의 이동은 어떻게 설정하나요

jdbc는host를 여러개 설정할수 있는 것으로 나옵니다.

c#은 이렇게 설정할수가 없는 것인가요?

그리고 브로커가 한개이상일 경우 컨넥션을 한쪽만 잡으면 한쪽으로 브로커만 사용되는 것인지도 알고 싶습니다.

 

  • ?
    이용미 2014.01.07 02:38

    HA 환경의 경우, 응용은 JDBC, CCI, PHP 환경에서 접근이 가능합니다.

    아래와 같이 사용하실 수 있으니 참고해 주세요.

    - JDBC : http://www.cubrid.org/manual/ko/8.4.4/ha.html#jdbc

    - CCI : http://www.cubrid.org/manual/ko/8.4.4/ha.html#cci

    - PHP : http://www.cubrid.org/manual/ko/8.4.4/ha.html#php


    Broker 서버가 여러대인 경우 또는 Broker가 하나의 서버에 여러개가 생성되어 있다고 하더라고, 응용에서 설정해준 Broker를 통하여만 응용과 통신하여 결과를 출력하게 됩니다. 그러므로 적절하게 응용에서 분배하여 사용하시는 것이 좋습니다.


    감사합니다.

  • ?
    알칸펠 2014.01.07 03:56

    c#용 connectionstring는 업나요?

  • ?
    이용미 2014.01.07 18:48

    C#을 포함한 Windows 프로그래밍 언어를 이용하는 경우, HA 구성 시 연결 스트링에 사용되는 althost를 사용하실 수 없습니다.

    참고 부탁 드립니다.

  • ?
    알칸펠 2014.01.07 19:13

    답변감사합니다.

    그럼 HA상에서 NODE A의  Broker/Server/heartbeat중 어느 것이 중지 되면 NODE B로 이동을 하나요?

    아니면 이것도 서버에서 자동을 이동되는 것은 불가능 한것인가요?

     

  • ?
    이용미 2014.01.07 20:25

    답변 추가합니다.

    cubrid.org의 QnA [http://www.cubrid.org/questions/719898]를 기반으로 확인한 결과, 해당 질문에 작성된 답변처럼 구성하시면 ADO.Net에서는 HA를 구성하여 사용이 가능합니다.


    NodeA의 프로세스 중, Broker/Server/Heartbeat 하나라도 정지가 되면, NodeB의 것을 이용하게 됩니다.

    NodeA의 Broker가 정지되는 경우는 설정값에 따라 달라지므로 아래 링크된 매뉴얼을 참고하여 주세요.

    [Broker PREFERRED_HOSTS 파라미터 관련 : http://www.cubrid.org/manual/ko/9.2.0/ha.html#broker-mode ]

    NodeA의 Server 혹은 Heartbeat이 정지되는 경우, 연결 스트링이 정상적인 경우, NodeB의 DB Server에 연결하게 됩니다.

    자세한 내용은 아래 링크된 매뉴얼을 참고하여 주세요.

    [failover와 failback : http://www.cubrid.org/manual/ko/9.2.0/ha.html#failover-failback ]

    [서버 이중화 - 서버 failover : http://www.cubrid.org/manual/ko/9.2.0/ha.html#id7 ]

  • ?
    알칸펠 2014.01.07 20:49

    위와 같이 설정은 이미 되어 있습니다.

    문제는  NodeA의 프로세스 중, Broker/Server/Heartbeat 를 명령어로 임으로 stop을 했을경우.

    NODE B로 넘어 는 가지만 NODE B가 cubrid changemode testdb@node B로 확인을 하면

     to-be-active상태로 멈춰 있다는 것입니다.

    싸이트는 띵겨 나오는 것도 아니고 계속 돌기만 하는 상황이 발생합니다.

    하지만 명령어로 Cubrid changemode -f -m testDB@node b라고 입력을 하면 active로 변하면서 정상적으로 작동을 한다는 것입니다.

    혹시 임으로 stop을 해서 node A와 node B로 정상적으로 이동을 하는 것을 확인하는 것은 안되는 것인가요?

  • ?
    이용미 2014.01.07 22:06

    Stop 명령어를 이용하여 Heartbeat을 중지하셔도 HA는 정상적으로 FailOver 됩니다.

    NodeB가 to-be-active 상태에서 active로 정상적으로 넘어가지 않는 상황은 다른 문제 같은데요.

    가능하시면, Slave를 재구성하신 후 재확인 하시는 것이 좋을 것 같습니다.


    참고로, changemode 유틸리티 사용 시, 강제로 현재 상태를 변경하는 것은 권장하지 않으니 참고해 주세요.

    감사합니다.

  • ?
    알칸펠 2014.01.07 22:41

    그럼 stop 명령으로 정지를 한 경우

    cubrid changemode node B를 확인 했는데

    The Server 'node B' 's current HA running mode is to-be-acive로 나온다면 기달려야하는 것인가요

    설정은 다시 확인을 해보아도 설명서에 나온대로 설정하였습니다.

  • ?
    알칸펠 2014.01.07 22:47

    to-be-active : 스탠바이 서버가 failover 등의 이유로 인해 액티브 서버가 되기 전의 상태이다. 기존의 마스터 노드로부터 받은 트랜잭션 로그를 자신의 서버에 반영하는 등 액티브 서버가 되기 위한 준비를 한다. 해당 상태의 노드에는 SELECT 질의만 수행할 수 있다.

    설명서에도 다음과 같이 설명되있지만 select를 할수가 업습니다.

  • ?
    이용미 2014.01.07 23:09

    HA 구성 후, Heartbeat을 구동하였었고, FailOver를 수동으로 수행하신 경우라면, NodeB가 active 상태가 될때까지 기다려 주셔야 합니다.

    다만, to-be-active 상태에서 active 상태로 변경되는 것을 그리 오랜 시간이 걸리지는 않을 것 입니다.


    to-be-active 상태에서 Select가 안된다고 하셨는데, 오류가 출력되는 것은 없는지요?

  • ?
    알칸펠 2014.01.08 18:28

    다른곳에는 오류가 업고 데이터베이스 오류에 다음과 같은 오류메세지가 있습니다.

    file ../../src/connection/server_support.c, line 2569 ERROR CODE =-4 Tran = 2, CLIENT = NODE B:emgr_server(27195), EID = 1 : Has been interrupted.

    file ../../src/connection/server_support.c, line 2569 ERROR CODE =-4 Tran = 3, CLIENT = NODE B:emgr_server(27540), EID = 2 : Has been interrupted.

    뭔가 중단되어 있다는거 같은대요 이것만 보고서는 무엇을 봐야할지 알수가 없습니다.

  • ?
    알칸펠 2014.01.08 19:14

    위의 상태는 cubrid hearbeat status로 확인하면 NODE B가 state master로 되어 있고

    cubrid changemode testdb@nodeB 로 확인하면 to-be-active로 되어 있습니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4443
3987 cubrid count 속 2 kanin 2024.04.19 10
3986 cubrid 10.1 데이터 덮어쓰기 질문입니다. 1 ysk96 2024.04.18 17
3985 ACTION 명령어? 예약어? 1 투투투투기기 2024.04.17 16
3984 sql 구문 사용시 데이터 타입 decimal일 경우 1 투투투투기기 2024.04.11 26
3983 Regexp_count 4 SEO 2024.04.09 56
3982 큐브리드 메모리 오류 관련 질문 2 file 뚜벅뚜벅 2024.04.09 57
3981 큐브리드 실행이 안되는 이슈 1 file 최현욱 2024.04.09 36
3980 unloaddb & loaddb 관련 질문이 있습니다. 1 543534512 2024.04.06 43
3979 mac m1 다운로드 오류 1 file 혜주냉면 2024.04.05 40
3978 list 함수로 만든 sequence type을 varchar로 변환 문의 1 플레이어블 2024.04.04 35
3977 DECODE, CASE WHEN 사용법 문의 2 핑크팬더 2024.04.03 53
3976 schema 파일 loaddb - 스키마 정보 중복오류 문의 4 daay 2024.03.21 88
3975 object to string 4 네오랜덤 2024.03.20 67
3974 mysql로 DB연동 문의 2 연동테스트용 2024.03.20 68
3973 특정DB만 접근 시간이 현저하게 오래 걸리는 문제 1 file 그로구 2024.03.20 58
3972 jdbc 연동시의 charset 강제 변경 방법 1 file gwak 2024.03.14 56
3971 도커로 HA환경 구성 테스트중 hb start.. 1 wodud0170 2024.03.12 62
3970 이중화 관련 문의드립니다. 1 adqwdqwd123412 2024.03.12 66
3969 큐브리드 마스터 복제 관련 문의 드립니다. 2 이지혜 2024.03.11 60
3968 큐브리드 다운로드 에러 1 file 나래아빠 2024.03.08 84
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