http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
공지사항  
뉴스  
질문과 답변
DBA
Developer
Cluster
토크박스  
이벤트  
서포트 티켓  
최신글
foreign key 설정…
인텍스 추가 등에…
mysql master - s…
다대다 관계에서 …
mysql my파일과 …
 
질문과 답변 (Cluster) > 커뮤니티 존 > 질문과 답변 (Cluster)
MySQL Cluster JDBC Failover 관련 질문...
글쓴이 : X랄큰타이…   날짜 : 11-04-29 14:31   조회수 : 7805
안녕하세요...
 
JDBC 관련해서 질문 사항이 있어 글을 올립니다.
 
다름이 아니라 웹 Application MySQL Cluster를 사용하고 있는데 두대의 SQL Node가 Failover 기능이 안되서 문의 드리려고 글 남깁니다.
(SQL Node 한대가 얼마전에 죽었었는데 Failover 안되서 저도 같이 죽을뻔 했습니다....ㅡㅡ;)
 
운영 환경은 아래와 같습니다.
- WAS : Tomcat 6.0
- JDBC Driver 버전 : mysql-connector-java-5.1.5-bin.jar
- MySQL Cluster 버전 : 7.1.3
- JDBC Context 파일 정보
 
<?xml version="1.0" encoding="UTF-8"?>
<Context debug="0" privileged="true" reloadable="false">
        <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="localhost_log." suffix=".txt" timestamp="true"/>
         <Resource
                name="jdbc/ams"
                auth="Container"
                type="javax.sql.DataSource"
                factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
                driverClassName="com.mysql.jdbc.Driver"
                url="jdbc:mysql:loadbalance://0.0.0.0,0.0.0.1/XXXX?loadBalanceBlacklistTimeout=5000&amp;useUnicode=true&amp;characterEncoding=utf8&amp;autoReconnect=true&amp;autoReconnectForPools=true"
                username="XXXX"
                password="XXXX"
                maxActive="50"
                initialSize="30"
                maxIdle="10"
                maxWait="30000"
                validationQuery="Select 1"
                testOnBorrow="true"
                testOnReturn="true"
                testWhileIdle="true"
          />
</Context>
 
위와 같이하면 0.0.0.0 서버나 0.0.0.1 서버 중에 한대가 장애가 발생하면 자동으로 failover 기능이 되는걸로 알고있는데요....훔....failover가 안되네요...
 
URL 정보에 failOverReadOnly=false 변수도 추가 해줘봤는데 안되더군요.....
 
해당 사항을 해결할 방법이 있는지 문의 드립니다.
종결자
맞게 설정 되어있는것 같은데요
아래 SLB 하실 URL에  " 빠져 있는것 같은데요.
다시 한번만 확인 해보시기 바랍니다.

url="jdbc:mysql:loadbalance://0.0.0.0,0.0.0.1/XXXX?

->
url = "jdbc:mysql:loadbalance://0.0.0.0:3306, 0.0.0.1:3306/XXXX?"

그리고 제가 알기로는 jdbc 를 사용하여, SLB 를 구성된경우 Server 가 Fail 이 낫을시, 그 해당 Session 은 Failover 될 서버로

session 을 못넘겨주는 걸로 알고 있네요 ㅋ
이전글 MGM Node 장애시 현상이 궁금합니다 
다음글 클러스터 Data 노드 동적 추가 질문드립니다. 
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
Copyright ⓒ ssebiz All Rights Reserved.