You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by "frederic.gendebien" <fr...@gmail.com> on 2014/02/21 14:53:48 UTC

Replicated LevelDB working example

Hello guys,

I am trying to set up a Replicated LevelDB store for ActiveMQ 5.9.0, but I
am facing a lot of issues and I am a bit feed up I have to admit...

I have 3 zookeepers running : 
  - blabla2 
  - blabla3 
  - blabla4

I have 3 ActiveMQ instances configured that way for each :

----
<beans                                                                                                                                                                                                                                                                     
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://activemq.apache.org/schema/core 
        http://activemq.apache.org/schema/core/activemq-core.xsd">

    
    <bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <value>file:${activemq.conf}/credentials.properties</value>
        </property>
    </bean>

    
    <bean id="logQuery"
class="org.fusesource.insight.log.log4j.Log4jLogQuery"
          lazy-init="false" scope="singleton"
          init-method="start" destroy-method="stop">
    </bean>

    
    <broker xmlns="http://activemq.apache.org/schema/core"
brokerName="localhost" dataDirectory="${activemq.data}">

        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" >
                    
                  <pendingMessageLimitStrategy>
                    <constantPendingMessageLimitStrategy limit="1000"/>
                  </pendingMessageLimitStrategy>
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>


        
        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>

        
        <persistenceAdapter>
            <replicatedLevelDB                                                                                                      
                directory="broker/data"
                replicas="3"
                bind="tcp://0.0.0.0:41414"
                zkAddress="blabla2:2181,blabla3:2181,blabla4:2181"
                zkPassword=""
                zkPath="/activemq/leveldb-stores"
            />

          
          <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage percentOfJvmHeap="70" />
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="10 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="5 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>

        
        <transportConnectors>
            
            <transportConnector name="openwire"
uri="tcp://0.0.0.0:51515?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

        </transportConnectors>

        
        <shutdownHooks>
            <bean xmlns="http://www.springframework.org/schema/beans"
class="org.apache.activemq.hooks.SpringContextHook" />
        </shutdownHooks>

    </broker>

    
    <import resource="jetty.xml"/>

</beans>
----

When I start those ActiveMQ they don't listen to their port 51515 and I
receive a lot of log : 
"Store update waiting on 1 replica(s) to catch up to log position 0."

Of course when I try to connect to ActiveMQ : could not connect...

Please help me or tell me a working product,

Kind regards



--
View this message in context: http://activemq.2283324.n4.nabble.com/Replicated-LevelDB-working-example-tp4678239.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Replicated LevelDB working example

Posted by Noel OConnor <no...@gmail.com>.
I've used this config in the past...
<persistenceAdapter>
             <replicatedLevelDB directory="../data/leveldb/amq"
              replicas="4"
              zkAddress="10.64.132.40:2182,10.64.132.40:2183,
10.64.132.40:2184"
              zkPassword="admin"

zkPath="/fabric/registry/clusters/fusemq-replication-elections/default"
              securityToken="admin"
              sync="quorum_disk"
              weight="90"
              hostname="10.64.132.148"
              bind="tcp://10.64.132.148:61619"
              />
</persistenceAdapter>


On Sat, Feb 22, 2014 at 12:53 AM, frederic.gendebien <
frederic.gendebien@gmail.com> wrote:

> Hello guys,
>
> I am trying to set up a Replicated LevelDB store for ActiveMQ 5.9.0, but I
> am facing a lot of issues and I am a bit feed up I have to admit...
>
> I have 3 zookeepers running :
>   - blabla2
>   - blabla3
>   - blabla4
>
> I have 3 ActiveMQ instances configured that way for each :
>
> ----
> <beans
>     xmlns="http://www.springframework.org/schema/beans"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="
>         http://www.springframework.org/schema/beans
>         http://www.springframework.org/schema/beans/spring-beans.xsd
>         http://activemq.apache.org/schema/core
>         http://activemq.apache.org/schema/core/activemq-core.xsd">
>
>
>     <bean
>
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
>         <property name="locations">
>             <value>file:${activemq.conf}/credentials.properties</value>
>         </property>
>     </bean>
>
>
>     <bean id="logQuery"
> class="org.fusesource.insight.log.log4j.Log4jLogQuery"
>           lazy-init="false" scope="singleton"
>           init-method="start" destroy-method="stop">
>     </bean>
>
>
>     <broker xmlns="http://activemq.apache.org/schema/core"
> brokerName="localhost" dataDirectory="${activemq.data}">
>
>         <destinationPolicy>
>             <policyMap>
>               <policyEntries>
>                 <policyEntry topic=">" >
>
>                   <pendingMessageLimitStrategy>
>                     <constantPendingMessageLimitStrategy limit="1000"/>
>                   </pendingMessageLimitStrategy>
>                 </policyEntry>
>               </policyEntries>
>             </policyMap>
>         </destinationPolicy>
>
>
>
>         <managementContext>
>             <managementContext createConnector="false"/>
>         </managementContext>
>
>
>         <persistenceAdapter>
>             <replicatedLevelDB
>                 directory="broker/data"
>                 replicas="3"
>                 bind="tcp://0.0.0.0:41414"
>                 zkAddress="blabla2:2181,blabla3:2181,blabla4:2181"
>                 zkPassword=""
>                 zkPath="/activemq/leveldb-stores"
>             />
>
>
>           <systemUsage>
>             <systemUsage>
>                 <memoryUsage>
>                     <memoryUsage percentOfJvmHeap="70" />
>                 </memoryUsage>
>                 <storeUsage>
>                     <storeUsage limit="10 gb"/>
>                 </storeUsage>
>                 <tempUsage>
>                     <tempUsage limit="5 gb"/>
>                 </tempUsage>
>             </systemUsage>
>         </systemUsage>
>
>
>         <transportConnectors>
>
>             <transportConnector name="openwire"
> uri="tcp://
> 0.0.0.0:51515?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600
> "/>
>
>         </transportConnectors>
>
>
>         <shutdownHooks>
>             <bean xmlns="http://www.springframework.org/schema/beans"
> class="org.apache.activemq.hooks.SpringContextHook" />
>         </shutdownHooks>
>
>     </broker>
>
>
>     <import resource="jetty.xml"/>
>
> </beans>
> ----
>
> When I start those ActiveMQ they don't listen to their port 51515 and I
> receive a lot of log :
> "Store update waiting on 1 replica(s) to catch up to log position 0."
>
> Of course when I try to connect to ActiveMQ : could not connect...
>
> Please help me or tell me a working product,
>
> Kind regards
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Replicated-LevelDB-working-example-tp4678239.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>

Re: Replicated LevelDB working example

Posted by Christian Posta <ch...@gmail.com>.
Get it working with one zookeeper first, make things a little simpler.
Then determine:
   * Can the master broker (machine) see/connect up to zookeeper? ie,
are there any firewalls in the way or blocking the zookeeper port?
   * Can the slave machines see zookeeper?
   * Turn logging to DEBUG and post those (pastebin/gist, not directly in email)

On Fri, Feb 21, 2014 at 6:53 AM, frederic.gendebien
<fr...@gmail.com> wrote:
> Hello guys,
>
> I am trying to set up a Replicated LevelDB store for ActiveMQ 5.9.0, but I
> am facing a lot of issues and I am a bit feed up I have to admit...
>
> I have 3 zookeepers running :
>   - blabla2
>   - blabla3
>   - blabla4
>
> I have 3 ActiveMQ instances configured that way for each :
>
> ----
> <beans
>     xmlns="http://www.springframework.org/schema/beans"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     xsi:schemaLocation="
>         http://www.springframework.org/schema/beans
>         http://www.springframework.org/schema/beans/spring-beans.xsd
>         http://activemq.apache.org/schema/core
>         http://activemq.apache.org/schema/core/activemq-core.xsd">
>
>
>     <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
>         <property name="locations">
>             <value>file:${activemq.conf}/credentials.properties</value>
>         </property>
>     </bean>
>
>
>     <bean id="logQuery"
> class="org.fusesource.insight.log.log4j.Log4jLogQuery"
>           lazy-init="false" scope="singleton"
>           init-method="start" destroy-method="stop">
>     </bean>
>
>
>     <broker xmlns="http://activemq.apache.org/schema/core"
> brokerName="localhost" dataDirectory="${activemq.data}">
>
>         <destinationPolicy>
>             <policyMap>
>               <policyEntries>
>                 <policyEntry topic=">" >
>
>                   <pendingMessageLimitStrategy>
>                     <constantPendingMessageLimitStrategy limit="1000"/>
>                   </pendingMessageLimitStrategy>
>                 </policyEntry>
>               </policyEntries>
>             </policyMap>
>         </destinationPolicy>
>
>
>
>         <managementContext>
>             <managementContext createConnector="false"/>
>         </managementContext>
>
>
>         <persistenceAdapter>
>             <replicatedLevelDB
>                 directory="broker/data"
>                 replicas="3"
>                 bind="tcp://0.0.0.0:41414"
>                 zkAddress="blabla2:2181,blabla3:2181,blabla4:2181"
>                 zkPassword=""
>                 zkPath="/activemq/leveldb-stores"
>             />
>
>
>           <systemUsage>
>             <systemUsage>
>                 <memoryUsage>
>                     <memoryUsage percentOfJvmHeap="70" />
>                 </memoryUsage>
>                 <storeUsage>
>                     <storeUsage limit="10 gb"/>
>                 </storeUsage>
>                 <tempUsage>
>                     <tempUsage limit="5 gb"/>
>                 </tempUsage>
>             </systemUsage>
>         </systemUsage>
>
>
>         <transportConnectors>
>
>             <transportConnector name="openwire"
> uri="tcp://0.0.0.0:51515?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
>
>         </transportConnectors>
>
>
>         <shutdownHooks>
>             <bean xmlns="http://www.springframework.org/schema/beans"
> class="org.apache.activemq.hooks.SpringContextHook" />
>         </shutdownHooks>
>
>     </broker>
>
>
>     <import resource="jetty.xml"/>
>
> </beans>
> ----
>
> When I start those ActiveMQ they don't listen to their port 51515 and I
> receive a lot of log :
> "Store update waiting on 1 replica(s) to catch up to log position 0."
>
> Of course when I try to connect to ActiveMQ : could not connect...
>
> Please help me or tell me a working product,
>
> Kind regards
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Replicated-LevelDB-working-example-tp4678239.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta