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
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 53
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4459
1255 cci_fetch_size() 가 하는 일이 먼가요..? 1 나동호 2009.03.24 10783
1254 cci_execute() 에서 lock이 걸리는 현상 2 두영 2010.02.05 10869
1253 cci_connect 함수를 이용하여 db 접속 방법 2 뀨브리드 2015.05.21 5367
1252 cci_connect 의 에러코드에 관하여 질문드립니다 7 엥꼬 2011.06.29 9886
1251 cci-api udpate 질문입니다~ 4 봉봉나무 2010.11.23 8199
1250 cci 프로그래밍에서 DB LINK 관련 문의 4 jjune1206 2023.05.18 131
1249 cci 처리 속도관련 문의 4 할리 2012.11.01 7517
1248 cci 사용시 명령어 길이 제한이 있을까요? 3 큐브초보탈출 2013.06.13 8248
1247 cci 관련 질문 드립니다. 2 kkckc 2009.02.25 13221
1246 cci api에서 glo를 다룬 예제 없나요? 1 pictions 2009.11.27 9281
1245 cci api 사용 문제.. 3 whwpdn 2014.04.22 8582
1244 cast 연산쿼리 성능 질문드립니다~ 2 파란시인 2010.03.22 12687
1243 cascci cci_row_count () 함수사용시 메모리 누수가 발생합니다. 1 민진홍 2020.08.31 94
1242 cannot fetch serial object 두번째 문의 3 happyday0393 2019.07.09 216
1241 cannot fetch serial object 2 file happyday0393 2019.07.04 196
1240 cannot create poolableconnectionfactory cannot connect to a broker 문의 드립니다. 1 yunhossi 2015.01.29 12181
1239 cannot connect to a broker 접속오류 관련 문의 드립니다. 2 zerorogue 2020.12.29 2597
1238 cannot communicate with the broker or received invalid packet 1 free 2023.08.23 134
1237 cannot communicate with the broker 7 차가워여 2009.09.28 20008
1236 can only be performed by the DBA or a DBA group member 오류.. 1 돌개 2014.04.24 6685
Board Pagination Prev 1 ... 133 134 135 136 137 138 139 140 141 142 ... 200 Next
/ 200

Contact Cubrid

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