* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Window7 32bit, Linux 64bit 등 | |
[cubrid_rel] 수행 결과 | |
[도움말]-[버전정보] 확인 | |
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
댓글받고 다시 글 올립니다.
============== 원본
OS : window7 32bit
Ver : 2008 R4.1
tool Ver : 2013 빌드 0170 32bit
환경 : java
아래와 같이 에러가 발생합니다.
Stacktrace:] with root cause
cubrid.jdbc.driver.CUBRIDException: Cannot connect to a broker
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at cubrid.jdbc.net.BrokerHandler.connectBroker(BrokerHandler.java:30)
at cubrid.jdbc.jci.UConnection.reconnectWorker(UConnection.java:1466)
at cubrid.jdbc.jci.UConnection.reconnect(UConnection.java:1563)
at cubrid.jdbc.jci.UConnection.checkReconnect(UConnection.java:1718)
at cubrid.jdbc.jci.UConnection.tryConnect(UConnection.java:250)
at cubrid.jdbc.driver.CUBRIDDriver.connect(CUBRIDDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580)
at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)
at org.apache.jsp.sacweb.proxy.getServerList_jsp._jspService(getServerList_jsp.java:96)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
포맷 하기 전 같은 설정으로 접속이 잘 됐었는데
포맷 후 다시 설치 하니 안됩니다.
db설정 파일은 아래와 같습니다.
<property name="JDBC.Driver" value="cubrid.jdbc.driver.CUBRIDDriver" />
<property name="JDBC.ConnectionURL" value="jdbc:cubrid:192.168.0.25:33000:aaaa:::?charset=utf-8" />
<property name="JDBC.Username" value="dba" />
<property name="JDBC.Password" value="****" />
<property name="JDBC.DefaultAutoCommit" value="false" />
나름 검색하여 브로커 연결 방법 확인 하였는데 모두 정상작동 중인데 안되네요...
매니저 연결하니 실행창에 admin@localhost:8001 / dba@aaaa:broker1[33000/ON]:charset=UTF-8
브로커 ON상태라고 나오는데..
방화벽 30000~33010 , 8001 , 8002 , 8003 오픈 상태이고
매니저로 브로커 기동중인거 확인 하였습니다.
cmd창에서 [cubrid broker status -b] 명령어 주니
@ cubrid broker status
NAME PID PORT AS JQ REQ TPS QPS LONG-T LONG-Q ERR-Q
================================================================================
* query_editor 7500 30000 5 0 0 0 0 0/0.0 0/0.0 0
* broker1 3544 33000 5 0 44796 44778 44794 0/0.0 0/0.0 0
위와같이 실행중인거 확인 하였습니다.
어떤게 문제일지....ㅠㅠ
====================== 답변
손승일
의심되는 부분은 방화벽 부분입니다.
매니저로 접속이 된다는 것이 WAS가 있는 장비에서 매니저를 실행하여 DB에 접속이 된다는 것인가요?
방화벽을 30000~33010 열어 두셨다는데 broker1의 MAX_NUM_APPL_SERVER가 10으로 설정되어 있는 건가요?
broker관련 방화벽 포트는 MAX_NUM_APPL_SERVER 수만큼 열어 주셔야 합니다.
======================= 추가 요청 내용
저의 설정 내용은 아래와 같습니다. ( cubrid_broker.conf )
[broker]
MASTER_SHM_ID =30001
ADMIN_LOG_FILE =log/broker/cubrid_broker.log
[%query_editor]
SERVICE =ON
BROKER_PORT =30000
MIN_NUM_APPL_SERVER =5
MAX_NUM_APPL_SERVER =40
APPL_SERVER_SHM_ID =30000
LOG_DIR =log/broker/sql_log
ERROR_LOG_DIR =log/broker/error_log
SQL_LOG =ON
TIME_TO_KILL =120
SESSION_TIMEOUT =300
KEEP_CONNECTION =AUTO
CCI_DEFAULT_AUTOCOMMIT =ON
[%BROKER1]
SERVICE =ON
BROKER_PORT =33000
MIN_NUM_APPL_SERVER =5
MAX_NUM_APPL_SERVER =40
APPL_SERVER_SHM_ID =33000
LOG_DIR =log/broker/sql_log
ERROR_LOG_DIR =log/broker/error_log
SQL_LOG =ON
TIME_TO_KILL =120
SESSION_TIMEOUT =300
KEEP_CONNECTION =AUTO
CCI_DEFAULT_AUTOCOMMIT =ON