社員ブログ
HOME  社員ブログ

アーカイブ

‘Apache’ カテゴリ

CentOSにantをインストールする方法。

2013年01月8日 13時13分40秒

こんにちは、コブラです。

今日はCentOSにantをインストールする方法です。

★環境

CentOS5

JDK:1.6.0_33

まずはantをダウンロードします。

こちらから、バイナリ形式のtar.gzファイルをダウンロードします。

「Binary Distributions」を選択してください。

CentOSにantをインストールする方法。

今回は「apache-ant-1.8.4-bin.tar.gz」をチョイス。

1.さて、早速解凍します。

<br />
tar zxvf /usr/local/apache-ant-1.8.4-bin.tar.gz<br />

2.解凍が済んだら、解凍されたフォルダ名を変更します。

<br />
mv apache-ant-1.8.4 ant<br />

3.次に、環境変数にパスを通します。

<br />
echo 'export ANT_HOME=/usr/local/ant' &gt;&gt; ~/.bash_profile<br />
echo 'export PATH=$PATH:$ANT_HOME/bin' &gt;&gt; ~/.bash_profile<br />
source ~/.bash_profile<br />

4.無事設定できたかどうか・・・antコマンドで確認します。

<br />
ant -version<br />

”Command not found”などと表示されたら、パスが通っていないので再確認してください。

”Apache Ant version 1.8.4~”と表示されれば、設定完了です。

以上です。

簡単ですね!


Apache, CentOS, 社員:cobra

Tomcatクラスタ マルチキャストと静的メンバ

2012年12月8日 13時39分15秒

こんにちは、コブラです。

Apache-Tomcat連携、クラスタリングの設定については今回割愛するとして、

Tomcat6.0以降で強化されたそのクラスタリング機能を使ってTomcatクラスタを実現してみました。

でも、マルチキャスト通信ができない環境では使えない・・・

そこで、静的メンバで設定する方法をご紹介!

Server.xmlを編集します!

<br />
&lt;Cluster className=&quot;org.apache.catalina.ha.tcp.SimpleTcpCluster&quot;<br />
	channelSendOptions=&quot;8&quot;<br />
	channelStartOptions=&quot;3&quot;&gt;<br />
	&lt;!-- 全てのノード(サーバ)でセッション情報を共有 --&gt;<br />
	&lt;Manager className=&quot;org.apache.catalina.ha.session.DeltaManager&quot;<br />
		expireSessionsOnShutdown=&quot;false&quot;<br />
		notifyListenersOnReplication=&quot;true&quot;/&gt;<br />
	&lt;Channel className=&quot;org.apache.catalina.tribes.group.GroupChannel&quot;&gt;<br />
		&lt;!-- マルチキャスト通信の場合に使用 --&gt;<br />
		&lt;!--<br />
		&lt;Membership className=&quot;org.apache.catalina.tribes.membership.McastService&quot;<br />
			address=&quot;228.0.0.4&quot;<br />
			port=&quot;45564&quot;<br />
			frequency=&quot;500&quot;<br />
			dropTime=&quot;3000&quot;/&gt;<br />
		--&gt;<br />
		&lt;Receiver className=&quot;org.apache.catalina.tribes.transport.nio.NioReceiver&quot;<br />
			address=&quot;192.168.0.1&quot;<br />
			port=&quot;8080&quot;<br />
			selectorTimeout=&quot;5000&quot;<br />
			maxThreads=&quot;6&quot;/&gt;<br />
		&lt;Sender className=&quot;org.apache.catalina.tribes.transport.ReplicationTransmitter&quot;&gt;<br />
			&lt;Transport className=&quot;org.apache.catalina.tribes.transport.nio.PooledParallelSender&quot;/&gt;<br />
		&lt;/Sender&gt;<br />
		&lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor&quot; staticOnly=&quot;true&quot;/&gt;<br />
		&lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.TcpFailureDetector&quot;/&gt;<br />
		&lt;!-- 静的メンバーの場合に使用 --&gt;<br />
		&lt;Interceptor className=&quot;org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor&quot;&gt;<br />
			&lt;!-- サーバ1台目 --&gt;<br />
			&lt;Member className=&quot;org.apache.catalina.tribes.membership.StaticMember&quot;<br />
				port=&quot;8080&quot;<br />
				host=&quot;192.168.0.1&quot;<br />
				uniqueId=&quot;{192,168,0,1,0,0,0,0,0,0,0,0,0,0,0,0}&quot;/&gt;<br />
			&lt;!-- サーバ2台目 --&gt;<br />
			&lt;Member className=&quot;org.apache.catalina.tribes.membership.StaticMember&quot;<br />
				port=&quot;8080&quot;<br />
				host=&quot;192.168.0.2&quot;<br />
				uniqueId=&quot;{192,168,0,2,0,0,0,0,0,0,0,0,0,0,0,0}&quot;/&gt;<br />
		&lt;/Interceptor&gt;<br />
	&lt;/Channel&gt;<br />
	&lt;!-- セッション共有しないリクエスト --&gt;<br />
	&lt;Valve className=&quot;org.apache.catalina.ha.tcp.ReplicationValve&quot;<br />
		filter=&quot;.*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;&quot;/&gt;<br />
	&lt;Deployer className=&quot;org.apache.catalina.ha.deploy.FarmWarDeployer&quot;<br />
		tempDir=&quot;/tmp/war-temp/&quot;<br />
		deployDir=&quot;/tmp/war-deploy/&quot;<br />
		watchDir=&quot;/tmp/war-listen/&quot;<br />
		watchEnabled=&quot;false&quot;/&gt;<br />
	&lt;ClusterListener className=&quot;org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener&quot;/&gt;<br />
	&lt;ClusterListener className=&quot;org.apache.catalina.ha.session.ClusterSessionListener&quot;/&gt;<br />
&lt;/Cluster&gt;<br />

注意すべき点はこちら!

・ReceiverタグとMemberタグのポートは同一のものにする

・セッション共有したいサーバのServer.xmlすべてに記述する

 ※ただし、ReceiverタグのIPアドレスはそれぞれのサーバのIPアドレスにする

・uniqueIdは16バイトで、一意になればいいのでIPアドレスが無難

これでOKです。

もし、Tomcatログにこんなログが出なかったら

web.xmlの<distributable />タグなど、クラスタ自体の設定を見直してみてください。

WARNING: Manager [/examples], requesting session state from org.apache.catalina.tribes.membership.MemberImpl
     [tcp://192.168.0.1:8080,192.168.0.1,8080, alive=0,id={・・・

かなりざっくりですが、意外とハマるところだと思います。

いい勉強になりました!


Apache, Tomcat, 社員:cobra