* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Linux | |
9.2 | |
[도움말]-[버전정보] 확인 | |
java |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
어플리케이션에서 큐브리드 HA 구성하여 사용하고 있습니다.
JDBC:CUBRID:nodeA_broker:33000:testdb:::?charSet=utf-8&altHosts=nodeB_broker:33000
위처럼 해서 사용하고 있는데 문의사항이 여기서 발생됩니다.
nodeA 로 사용하고 있을 시에는 정상적으로 select, insert 가 가능하지만 failover 가 나서 nodeB 로 이동하게 되면 select 는 정상적으로 되지만 insert 가 실패되게 됩니다. 정상적으로 insert 가 되어야 한다면 관리자가 nodeA 를 되살려야만 합니다.
슬레이브 노드로 구성하였을 시에 nodeB 로 넘어가도 insert 가 될 수는 없는건가요?
어플리케이션 단에서 처리할 수 밖에 없는 건가요?
답변 기다리겠습니다.
감사합니다.
안녕하세요. 큐브리드를 이용해 주셔서 감사합니다.
INSERT가 되지 않으신다면 아마도 정상적인 failover가 되지 않아 standby 상태인 DB로 접속이 이루어 졌을 수 있습니다.
따라서 SELECT만 가능한 상황이 되신것이 아닌가 생각이 듭니다.
failover가 발생하였을 경우 다음 내용을 확인하여 첨부해 주시면 원인 분석에 용이할 것 같습니다.
1. master_node와 slave_node에서 다음 명령어 수행
$ cubrid hb list
$ cubrid changemode <DB_NAME>@localhost
2. databases.txt 파일의 db-host 부분에 master_node와 slave_node 호스트명 등록 여부 확인
경로 : $CUBRID_DATABASES/databases.txt
3. 브로커 설정파일 첨부
경로 : $CUBRID/conf/cubrid_broker.conf
4. /etc/hosts 파일에 master_node와 slave_node의 IP와 HOST 정보 등록 여부 확인
감사합니다.