2013-06-19 43 views
2

我已经在EC2-Ubuntu实例(Ubuntu Server 13.04)上安装了ActiveMQ(通过apt) 但是,我面对的问题是无法通过提供的启动脚本启动ActiveMQ。如何在EC2机器上启动ActiveMQ?

当我尝试启动它 - 作为默认的“Ubuntu的用户 - 我得到以下错误:

[email protected]:/etc/default$ /usr/bin/activemq start 
INFO: Loading '/usr/share/activemq/activemq-options' 
INFO: Using java '/usr/bin/java' 
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details 
mkdir: missing operand 
Try 'mkdir --help' for more information. 
/usr/bin/activemq: 373: /usr/bin/activemq: /usr/bin/java -Xms512M -Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Dcom.sun.management.jmxremote -Djava.io.tmpdir="/var/lib/activemq/tmp" -Dactivemq.classpath="/var/lib/activemq/conf;" -Dactivemq.home="/usr/share/activemq" -Dactivemq.base="/var/lib/activemq/" -Dactivemq.conf="/var/lib/activemq/conf" -Dactivemq.data="/var/lib/activemq/data" -jar "/usr/share/activemq/bin/run.jar" start >/dev/null 2>&1 & 
      RET="$?"; APID="$!"; 
      echo $APID > /var/run/activemq.pid; 
      echo "INFO: pidfile created : '/var/run/activemq.pid' (pid '$APID')";exit $RET: not found 

当我尝试启动它 - 使用sudo - 我收到以下错误:

[email protected]:/etc/default$ sudo /usr/bin/activemq start 
INFO: Loading '/usr/share/activemq/activemq-options' 
INFO: Using java '/usr/bin/java' 
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details 
INFO: changing to user 'activemq' to invoke java 
mkdir: missing operand 
Try 'mkdir --help' for more information. 
-su: line 2: /var/run/activemq.pid: Permission denied 
INFO: pidfile created : '/var/run/activemq.pid' (pid '10166') 

运行 '#在/ usr/bin中/ ActiveMQ的状态' 告诉我:

[email protected]:/etc/default$ /usr/bin/activemq status 
INFO: Loading '/usr/share/activemq/activemq-options' 
INFO: Using java '/usr/bin/java' 
ActiveMQ not running 

我已经尝试创建一个新的配置一nd以取代它 - 如这里建议的:Activemq will not start on my Ubuntu VM

任何建议什么问题可能是?

在此先感谢!

回答

1

好吧,我解决了我自己的问题。看来ActiveMQ apt repo内容已经损坏。由于我使用木偶,我依靠一名软件包管理员。因此,我切换到默认使用yum的AWS Linux AMI。 不幸的是不存在的ActiveMQ包回购,所以你必须创建一个新的文件的.repo(须藤纳米/etc/yum.repos.d/activemq.repo),并添加以下内容:

[activemq-centos] 
name=activemq-centos 
failovermethod=priority 
baseurl=http://packages.platform14.net/repo/activemq/centos/5/$basearch/ 
enabled=1 
gpgcheck=0 

[activemq-source] 
name=activemq-source 
failovermethod=priority 
baseurl=http://packages.platform14.net/repo/activemq/centos/5/SRPMS/ 
enabled=1 
gpgcheck=0 

问候, Andreas

2

而不是通过apt-get安装ActiveMQ,它实际上更容易download a copy作为tar.gz并将其提取到/opt。有关于获取它的说明running as a Unix service - 这是管理安装最简单的方法。

我通常还会创建一个符号链接/opt/activemq到包含使用中的ActiveMQ版本的目录,该目录用于配置服务。这种升级方式,你需要做的就是重新链接到新版本。

+0

感谢您的快速响应! 其实,我通过puppet模块安装ActiveMQ。安装工作正常,我猜puppet在内部使用apt-get,因为安装看起来一样,而且我得到相同的错误。 因为我试图用傀儡解决这个问题,所以我无法使用tar.gz安装:/ 无论如何,感谢符号链接提示,我会牢记这一点! Regards, Andreas –

0

这是因为activemq用户不是保存activemq pid文件的目录的所有者。 更改为具有文件的目录 - chown -R activemq:users apache-activemq-