2016-09-30 2 views
0

msyqlでactiveMQマスタ/スレーブクラスタを設定します。私がやること: 最初に2つのインスタンスの設定を作成します。activeMQを解決する方法msyql cluster get排他ロックエラーを取得しようとしていますか?

activemq create instanceA 
activemq create instanceC 

次にポートとMySQLアダプタを変更し、instanceAがあります

//conf 
<persistenceAdapter > 
     <!-- <kahaDB directory="${activemq.data}/kahadb"/> --> 
     <jdbcPersistenceAdapter dataDirectory="${activemq.data}/kahadb" dataSource="#mysql-ds"/> 
    </persistenceAdapter> 

<transportConnectors> 
     <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> 
     <transportConnector name="openwire" uri="tcp://0.0.0.0:61617?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
     <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
     <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
     <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
     <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
    </transportConnectors> 

<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
     --- 
    </bean> 

をinstanceCがあります

--conf 
<persistenceAdapter > 
      <!-- <kahaDB directory="${activemq.data}/kahadb"/> --> 
      <jdbcPersistenceAdapter dataDirectory="${activemq.data}/kahadb" dataSource="#mysql-ds"/> 
     </persistenceAdapter> 
<transportConnectors> 
      <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> 
      <transportConnector name="openwire" uri="tcp://0.0.0.0:61619?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
      <transportConnector name="amqp" uri="amqp://0.0.0.0:5673?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
      <transportConnector name="stomp" uri="stomp://0.0.0.0:61615?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
      <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1884?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
      <transportConnector name="ws" uri="ws://0.0.0.0:61600?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> 
     </transportConnectors> 

<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
     --- 
    </bean> 

最後に、私はinstanceC ./instanceC start、仕事の罰金を開始します。インスタンスA ./instanceA startを起動してエラーが発生します。

2016-09-30 18:11:42,612 | INFO | Attempting to acquire the exclusive lock to become the Master broker | org.apache.activemq.store.jdbc.DefaultDatabaseLocker | main 
2016-09-30 18:12:33,760 | INFO | Failed to acquire lock. Sleeping for 10000 milli(s) before trying again... | org.apache.activemq.store.jdbc.DefaultDatabaseLocker | main 

解決方法

答えて

0

完了しました=)このメッセージは、インスタンスAがデータストアの排他ロックを正しくポーリングしていることを示しています。 instanceCを停止すると、instanceAがプライマリとして引き継がれます。

関連する問題