我在EC2-Ubuntu实例(Ubuntu Server 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
当我尝试启动它时 - 使用sudo - 我收到以下错误:
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
我已经尝试创建新配置并替换它 - 如下所示:Activemq will not start on my Ubuntu VM
有什么建议可以解决问题吗?
提前致谢!
答案 0 :(得分:3)
而不是通过apt-get
安装ActiveMQ,tar.gz
/opt
实际上更容易/opt/activemq
并将其提取到{{1}}。有获取它的说明download a copy - 这是管理安装的最简单方法。
我通常还会在包含正在使用的ActiveMQ版本的目录中创建符号链接{{1}},我用它来配置服务。这种升级方式,您需要做的就是重新指向新版本的链接。
答案 1 :(得分:1)
好的,我自己解决了。似乎ActiveMQ apt repo内容已被破坏。由于我使用的是木偶,我依赖于包经理。因此,我切换到AWS Linux AMI,默认情况下使用yum。 不幸的是,没有ActiveMQ包回购,所以你必须创建一个新的.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
此致 安德烈亚斯
答案 2 :(得分:0)
这是因为activemq用户不是要保存activemq pid文件的目录的所有者。 切换到包含文件的目录 - chown -R activemq:users apache-activemq -