ホーム   »  スポンサー広告  »     »  Java  »  ActiveMQ 5.5 インストール

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ActiveMQ 5.5 インストール

自宅サーバで MQ を使う用事が出来たので Apache ActiveMQ を入れてみるとします。

Apache ActiveMQ™ は Java で実装された Message Queue。最新版の 5.5 では JMS 1.1, J2EE 1.4 に準拠しておりフェールオーバーや分散トランザクションにも対応している。オープンソースの MQ ミドルウェアの中では機能、ナレッジともに一番安定していてエンタープライズ向きではないかと思う。Jetty 上に構成されておりブラウザから駆動状況を管理できるようです。

想定する構成
OSCentOS 5.6 final Kernel .6.18-238.el5xen
JavaランタイムOracle Java SE 6u26
インストール先/usr/local/activemq5.5
ポートHTTP:8161, MQ:61616, (JMXはデフォルトで不定)

実行ユーザの作成

ActiveMQ プロセスを動作させるユーザとグループを作成します。ウチのサーバでは常駐系は 900 番台としているのでそれぞれ 902 を割り当てます。

torao@clove$ sudo /usr/sbin/groupadd -r --gid 902 activemq
torao@clove$ sudo /usr/sbin/useradd --base-dir /usr/local/activemq --home-dir /usr/local/activemq --comment "Apache ActiveMQ" -M -r --gid activemq --uid 902 activemq

ダウンロードとインストール

Apache ActiveMQ5.5.0 リリースから Unix/Linux/Cygwin Distribution をダウンロードし、解凍して /usr/local/activemq5.5 へ移動します。

torao@clove$ wget "http://ftp.kddilabs.jp/infosystems/apache//activemq/apache-activemq/5.5.0/apache-activemq-5.5.0-bin.tar.gz"
--2011-08-07 14:10:27--  http://ftp.kddilabs.jp/infosystems/apache//activemq/apache-activemq/5.5.0/apache-activemq-5.5.0-bin.tar.gz
ftp.kddilabs.jp をDNSに問いあわせています... 192.26.91.193, 2001:200:601:10:206:5bff:fef0:466c
ftp.kddilabs.jp|192.26.91.193|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
…
torao@clove$ tar zxvf apache-activemq-5.5.0-bin.tar.gz 
apache-activemq-5.5.0/bin/run.jar
apache-activemq-5.5.0/webapps/camel/META-INF/
apache-activemq-5.5.0/webapps/camel/META-INF/MANIFEST.MF
…
torao@clove$ sudo mv apache-activemq-5.5.0 /usr/local/activemq5.5
torao@clove$ sudo ln -s /usr/local/activemq5.5 /usr/local/activemq

構成

インストールディレクトリに移動して適切なパーミッションを設定します。デフォルトではローカルディスクの data ディレクトリを使用するので所有者を activemq ユーザに変更します。

また起動スクリプト bin/activemq を編集して ACTIVEMQ_USER を activemq に設定します。

torao@clove$ cd /usr/local/activemq
torao@clove$ sudo chown -R root:root *
torao@clove$ sudo chown -R activemq:activemq data
torao@clove$ sudo vim bin/activemq
…
# Configure a user with non root priviledges, if no user is specified do not change user
ACTIVEMQ_USER="activemq"

ポート番号の変更などはインストール先の conf ディレクトリ以下を参照。

起動確認

root ユーザから試験起動を行います。毎度 JAVA_HOME を指定していますが起動スクリプトかどこぞの rc に記述しておいた方が便利かと思います。

torao@clove$ sudo env JAVA_HOME=/usr/java/jdk1.6 bin/activemq start
INFO: Loading '/home/torao/.activemqrc'
INFO: Using java '/usr/java/jdk1.6/bin/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 : '/srv/system/activemq5.5/data/activemq.pid' (pid '6411')
torao@clove$ ps -ef | grep activemq
activemq  6623     1 80 14:48 ?        00:00:04 /usr/java/jdk1.6/bin/java -Xms256M -Xmx256M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Djava.util.logging.config.file=logging.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote -Dactivemq.classpath=/srv/system/activemq5.5/conf; -Dactivemq.home=/srv/system/activemq5.5 -Dactivemq.base=/srv/system/activemq5.5 -jar /srv/system/activemq5.5/bin/run.jar start
torao@clove$ sudo env JAVA_HOME=/usr/java/jdk1.6 bin/activemq stop
INFO: Loading '/home/torao/.activemqrc'
INFO: Using java '/usr/java/jdk1.6/bin/java'
INFO: changing to user 'activemq' to invoke java
INFO: Waiting at least 30 seconds for regular process termination of pid '6623' : 
Java Runtime: Sun Microsystems Inc. 1.6.0_26 /usr/java/jdk1.6.0_26/jre
  Heap sizes: current=253440k  free=252040k  max=253440k
    JVM args: -Xms256M -Xmx256M -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Djava.util.logging.config.file=logging.properties -Dactivemq.classpath=/srv/system/activemq5.5/conf; -Dactivemq.home=/srv/system/activemq5.5 -Dactivemq.base=/srv/system/activemq5.5
ACTIVEMQ_HOME: /srv/system/activemq5.5
ACTIVEMQ_BASE: /srv/system/activemq5.5
Connecting to pid: 6623
Stopping broker: localhost
... FINISHED

ActiveMQ を起動した状態でブラウザから 8161 ポートに接続して以下の様な画面が表示されれば起動完了。外部からアクセスする場合はファイアウォールの該当ポートをアクセス可能にしておく必要があります。

起動スクリプトの作成

ActiveMQ は /etc/init.d 形式のスクリプトは同胞されていないのかな? まぁ簡単なものを作成しておく。

torao@clove$ sudo vim /etc/init.d/activemq
#!/bin/bash
# $Id:$
# activemq:     Start Apache ActiveMQ
# Version:      @(#) /etc/init.d/activemq 1.0
# chkconfig: 2345 90 10
# description: Starts and stops the Apache ActiveMQ at boot time and shutdown.
# processname: activemq
export JAVA_HOME=/usr/java/jdk1.6
/usr/local/activemq/bin/activemq $*
torao@clove$ sudo chmod 755 /etc/init.d/activemq
torao@clove$ sudo /sbin/chkconfig --add activemq
torao@clove$ sudo /sbin/chkconfig activemq on
torao@clove$ sudo /sbin/chkconfig --list activemq
activemq       	0:off	1:off	2:on	3:on	4:on	5:on	6:off

sudo /etc/init.d/activemq start または stop で ActiveMQ が起動/終了すれば完了。

コメント
トラックバック
トラックバック URL
コメントの投稿
管理者にだけ表示を許可する
Profile
Takami Torao
Takami Torao
C/C++ 使いだった 1996年、運命の Java と出会い現在に至る。のらアーキテクト。
Yah, this is image so I don't wanna eat spam, sorry!
Search

Google
MOYO Laboratory
Web

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
ブロとも申請フォーム
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。