Jeff Sparrow
2014-Nov-05 12:46 UTC
[Puppet Users] Could not connect to ActiveMQ Server - activemq for mcollective failing
I am trying to get mcollective running. Having issues with activemq.
Here is it restarting, seems fine:
[root@puppet activemq]# service activemq restart
INFO: Loading '/etc/sysconfig/activemq'
INFO: Using java 'java'
INFO: Loading '/etc/sysconfig/activemq'
INFO: Using java 'java'
INFO: changing to user 'activemq' to invoke java
INFO: Waiting at least 30 seconds for regular process termination of pid
'12430' :
Java Runtime: Oracle Corporation 1.7.0_71
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre
Heap sizes: current=506816k free=504020k max=506816k
JVM args: -Xms512m -Xmx512m
-Djava.util.logging.config.file=logging.properties -Dhawtio.realm=activemq
-Dhawtio.role=admins
-Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal
-Djava.security.auth.login.config=/etc/activemq/login.config
-Dactivemq.classpath=/etc/activemq; -Dactivemq.home=/usr/share/activemq
-Dactivemq.base=/usr/share/activemq -Dactivemq.conf=/etc/activemq
-Dactivemq.data=/usr/share/activemq/data
Extensions classpath:
[/usr/share/activemq/lib,/usr/share/activemq/lib/camel,/usr/share/activemq/lib/optional,/usr/share/activemq/lib/web,/usr/share/activemq/lib/extra]
ACTIVEMQ_HOME: /usr/share/activemq
ACTIVEMQ_BASE: /usr/share/activemq
ACTIVEMQ_CONF: /etc/activemq
ACTIVEMQ_DATA: /usr/share/activemq/data
Connecting to pid: 12430
.Stopping broker: localhost
. FINISHED
INFO: Loading '/etc/sysconfig/activemq'
INFO: Using java 'java'
activemq not running
INFO: Loading '/etc/sysconfig/activemq'
INFO: Using java 'java'
INFO: Starting - inspect logfiles specified in logging.properties and
log4j.properties to get details
INFO: changing to user 'activemq' to invoke java
INFO: pidfile created : '/var/run/activemq/activemq.pid' (pid
'12774')
INFO: Loading '/etc/sysconfig/activemq'
INFO: Using java 'java'
activemq is running (pid '12774')
However when I attempt to run mco ping -v it doesnt respond, so when I stop
it it comes back with the following error:
[root@puppet activemq]# mco ping -v
^C
The ping application failed to run: Could not connect to ActiveMQ Server:
Could not connect to ActiveMQ Server: (RuntimeError)
from /usr/libexec/mcollective/mcollective/connector/activemq.rb:248:in
`connect' <----
from /usr/lib/ruby/site_ruby/1.8/mcollective/client.rb:18:in
`initialize'
from /usr/libexec/mcollective/mcollective/application/ping.rb:52:in
`new'
from /usr/libexec/mcollective/mcollective/application/ping.rb:52:in
`main'
from /usr/lib/ruby/site_ruby/1.8/mcollective/application.rb:291:in
`run'
from /usr/lib/ruby/site_ruby/1.8/mcollective/applications.rb:23:in
`run'
from /usr/bin/mco:24
Here are my configs:
activemq.xml:
[root@puppet activemq]# cat activemq.xml
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.apache.org/schema/core"
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-2.0.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core.xsd
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>file:${activemq.base}/conf/credentials.properties</value>
</property>
</bean>
<!--
For more information about what MCollective requires in this file,
see http://docs.puppetlabs.com/mcollective/deploy/middleware/activemq.html
-->
<!--
WARNING: The elements that are direct children of <broker> MUST BE
IN
ALPHABETICAL ORDER. This is fixed in ActiveMQ 5.6.0, but affects
previous versions back to 5.4.
https://issues.apache.org/jira/browse/AMQ-3570
-->
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="localhost" useJmx="true"
schedulePeriodForDestinationPurge="60000">
<!--
MCollective generally expects producer flow control to be turned off.
It will also generate a limitless number of single-use reply queues,
which should be garbage-collected after about five minutes to conserve
memory.
For more information, see:
http://activemq.apache.org/producer-flow-control.html
-->
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry topic=">"
producerFlowControl="false"/>
<policyEntry queue="*.reply.>"
gcInactiveDestinations="true"
inactiveTimoutBeforeGC="300000" />
</policyEntries>
</policyMap>
</destinationPolicy>
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
<plugins>
<statisticsBrokerPlugin/>
<!--
This configures the users and groups used by this broker. Groups
are referenced below, in the write/read/admin attributes
of each authorizationEntry element.
-->
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="mcollective"
password="marionette" groups="mcollective,everyone"/>
<authenticationUser username="admin"
password="secret" groups="mcollective,admins,everyone"/>
</users>
</simpleAuthenticationPlugin>
<!--
Configure which users are allowed to read and write where.
Permissions
are organized by group; groups are configured above, in the
authentication plugin.
With the rules below, both servers and admin users belong to group
mcollective, which can both issue and respond to commands. For an
example that splits permissions and doesn't allow servers to
issue
commands, see:
http://docs.puppetlabs.com/mcollective/deploy/middleware/activemq.html#detailed-restrictions
-->
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue=">"
write="admins" read="admins" admin="admins" />
<authorizationEntry topic=">"
write="admins" read="admins" admin="admins" />
<authorizationEntry topic="mcollective.>"
write="mcollective" read="mcollective"
admin="mcollective" />
<authorizationEntry queue="mcollective.>"
write="mcollective" read="mcollective"
admin="mcollective" />
<!--
The advisory topics are part of ActiveMQ, and all users need
access to them.
The "everyone" group is not special; you need to
ensure every user is a member.
-->
<authorizationEntry
topic="ActiveMQ.Advisory.>" read="everyone"
write="everyone" admin="everyone"/>
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
<!--
The systemUsage controls the maximum amount of space the broker will
use for messages. For more information, see:
http://docs.puppetlabs.com/mcollective/deploy/middleware/activemq.html#memory-and-temp-usage-for-messages-systemusage
-->
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage limit="20 mb"/>
</memoryUsage>
<storeUsage>
<storeUsage limit="1 gb"
name="foo"/>
</storeUsage>
<tempUsage>
<tempUsage limit="100 mb"/>
</tempUsage>
</systemUsage>
</systemUsage>
<!--
The transport connectors allow ActiveMQ to listen for connections over
a given protocol. MCollective uses Stomp, and other ActiveMQ brokers
use OpenWire. You'll need different URLs depending on whether you
are
using TLS. For more information, see:
http://docs.puppetlabs.com/mcollective/deploy/middleware/activemq.html#transport-connectors
-->
<transportConnectors>
<transportConnector name="openwire"
uri="tcp://0.0.0.0:61616"/>
<transportConnector name="stomp+nio"
uri="stomp+nio://0.0.0.0:61613"/>
<!-- If using TLS, uncomment this and comment out the previous
connector:
<transportConnector name="stomp+ssl"
uri="stomp+ssl://0.0.0.0:61614?needClientAuth=true&transport.enabledProtocols=TLSv1,TLSv1.1,TLSv1.2"/>
-->
</transportConnectors>
</broker>
<!--
Enable web consoles, REST and Ajax APIs and demos.
It also includes Camel (with its web console); see
${ACTIVEMQ_HOME}/conf/camel.xml for more info.
See ${ACTIVEMQ_HOME}/conf/jetty.xml for more details.
-->
<import resource="jetty.xml"/>
</beans>
server.cfg:
[root@puppet mcollective]# cat server.cfg
main_collective = mcollective
collectives = mcollective
libdir = /usr/libexec/mcollective
logfile = /var/log/mcollective.log
loglevel = info
daemonize = 1
direct_addressing = 1
# Plugins
securityprovider = psk
plugin.psk = unset
plugin.actionpolicy.allow_unconfigured = 1
plugin.activemq.base64 = yes
connector = activemq
plugin.activemq.pool.1.host = puppet.foundry.test
plugin.activemq.pool.size = 1
plugin.activemq.pool.1.port = 6163
plugin.activemq.pool.1.user = mcollective
plugin.activemq.pool.1.password = marionette
# Facts
factsource = yaml
plugin.yaml = /etc/mcollective/facts.yaml
activemq log file:
[root@puppet mcollective]# cat /var/log/activemq/activemq.log 2014-11-04
13:17:40,024 [main ] INFO XBeanBrokerFactory$1
- Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@7497e90e:
startup date [Tue Nov 04 13:17:40 CST 2014]; root of context hierarchy
2014-11-04 13:17:43,113 [main ] INFO PListStoreImpl
- PListStore:[/usr/share/activemq/activemq-data/localhost/tmp_storage]
started 2014-11-04 13:17:43,191 [main ] INFO BrokerService - Using
Persistence Adapter:
KahaDBPersistenceAdapter[/usr/share/activemq/activemq-data/localhost/KahaDB]
2014-11-04 13:17:43,198 [main ] INFO SharedFileLocker
- Database activemq-data/localhost/KahaDB/lock is locked... waiting 10
seconds for the database to be unlocked. Reason: java.io.IOException:
Failed to create directory 'activemq-data/localhost/KahaDB' 2014-11-04
13:17:53,199 [main ] INFO SharedFileLocker - Database
activemq-data/localhost/KahaDB/lock is locked... waiting 10 seconds for the
database to be unlocked. Reason: java.io.IOException: Failed to create
directory 'activemq-data/localhost/KahaDB' 2014-11-04 13:18:03,199 [main
]
INFO SharedFileLocker - Database activemq-data/localhost/KahaDB/lock is
locked... waiting 10 seconds for the database to be unlocked. Reason:
java.io.IOException: Failed to create directory
'activemq-data/localhost/KahaDB' 2014-11-04 13:18:13,200 [main ] INFO
SharedFileLocker - Database activemq-data/localhost/KahaDB/lock is
locked... waiting 10 seconds for the database to be unlocked. Reason:
java.io.IOException: Failed to create directory
'activemq-data/localhost/KahaDB' 2014-11-04 13:18:23,201 [main ] INFO
SharedFileLocker - Database activemq-data/localhost/KahaDB/lock is
locked... waiting 10 seconds for the database to be unlocked. Reason:
java.io.IOException: Failed to create directory
'activemq-data/localhost/KahaDB' 2014-11-04 13:18:33,202 [main ] INFO
SharedFileLocker - Database activemq-data/localhost/KahaDB/lock is
locked... waiting 10 seconds for the database to be unlocked. Reason:
java.io.IOException: Failed to create directory
'activemq-data/localhost/KahaDB'
Its this last part that seems to be causing the error. Forewarned, I am 2
weeks in to Linux, but learning fast. I can't seem to resolve this issue
alone. The service is running.
Any help would be appreciated.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/bdf6d6d6-c75f-4262-9d37-9b8258daeaca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.