Ubuntu 如何在EC2机器上启动ActiveMQ?

Ubuntu 如何在EC2机器上启动ActiveMQ?,ubuntu,activemq,Ubuntu,Activemq,我已经在EC2 Ubuntu实例(Ubuntu服务器13.04)上安装了ActiveMQ(通过apt) 然而,我面临的问题是无法通过提供的启动脚本启动ActiveMQ 当我尝试启动它时(作为默认的“ubuntu”用户),我得到以下错误: ubuntu@ip-..-154-186-78:/etc/default$ /usr/bin/activemq start INFO: Loading '/usr/share/activemq/activemq-options' INFO: Using java

我已经在EC2 Ubuntu实例(Ubuntu服务器13.04)上安装了ActiveMQ(通过apt) 然而,我面临的问题是无法通过提供的启动脚本启动ActiveMQ

当我尝试启动它时(作为默认的“ubuntu”用户),我得到以下错误:

ubuntu@ip-..-154-186-78:/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
ubuntu@ip-..-154-186-78:/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')
当我尝试使用sudo启动它时,会出现以下错误:

ubuntu@ip-..-154-186-78:/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
ubuntu@ip-..-154-186-78:/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 status”告诉我:

ubuntu@ip-..-154-186-78:/etc/default$ /usr/bin/activemq status
INFO: Loading '/usr/share/activemq/activemq-options'
INFO: Using java '/usr/bin/java'
ActiveMQ not running
我已经尝试创建一个新的配置并替换它-如下所示:

有什么建议吗?可能是什么问题


提前谢谢

与通过
apt get
安装ActiveMQ相比,实际上更容易将其作为
tar.gz
并提取到
/opt
中。这里有获取它的说明-这是管理安装的最简单方法


我通常还会创建一个符号链接
/opt/activemq
,指向包含我用于配置服务的activemq版本的目录。通过这种方式升级,您只需重新指向新版本的链接。

好的,我自己解决了。似乎ActiveMQ apt repo内容已损坏。因为我使用的是puppet,所以我依赖于包管理器。因此,我切换到AWS Linux AMI,它默认使用yum。 不幸的是,没有ActiveMQ包repo,因此您必须创建一个新的.repo文件(sudo nano/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

这是因为activemq用户不是要保存activemq pid文件的目录的所有者。 更改到包含您的文件的目录-
chown-R activemq:用户apache activemq-

感谢您的快速响应!实际上,我是通过一个puppet模块安装ActiveMQ的。安装运行良好,我猜puppet在内部使用apt get,因为安装看起来一样,我也会遇到同样的错误。因为我试图用puppet解决这个问题,所以我无法使用tar.gz安装:/反正,谢谢你的符号链接提示,我会记住的!你好,安德烈亚斯