2013-06-19 73 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-