カテゴリー別アーカイブ: Tomcat

Tomcat の PUTメソッドが息をしていない問題

| コメントをどうぞ

あけましておめでとうございます。
本年も有為無為に関わらず書き散らかしていく所存にございます。
生暖かい眼差しでお付き合いいただければと思います。
どうぞよろしくお願いいたします。
DiceK Mikamiです。

さて突然なのですが、アプリケーションサーバにTomcatを利用していると、たまにとんでもない大穴にはまったりします。
今回はそんなお話です。
続きを読む

New RelicのJavaエージェントのインストールでエラー

| コメントをどうぞ

今回はNew RelicのJavaエージェントをインストールしてみました。

環境

  • OS: Amazon Linux
  • Tomcat7: yumでインストール

公式ドキュメント

以下のドキュメントを参考にインストールを行いました。
https://docs.newrelic.com/docs/agents/java-agent/installation/java-agent-manual-installation

実行した手順

インストールモジュールをダウンロード

New Relicにログインしてダウンロードします。

モジュールを解凍してtomcatのHOMEに置きます。

# unzip newrelic-java-3.12.0.zip -d /usr/share/tomcat7

インストールを実行

# cd /usr/share/tomcat7/newrelic
# java -jar newrelic.jar install

エラー

Dec 5, 2014 13:14:07 +0900 [28863 1] com.newrelic INFO: Agent is using Logback
***** ( ( o))  New Relic Java Agent Installer
***** Installing version 3.12.0 ...
File /usr/share/tomcat7/bin/catalina.sh does not exist, so it can't become an EditableFile.
No need to create New Relic configuration file because:
 .:. A config file already exists: /usr/share/tomcat7/newrelic/newrelic.yml
***** Install incomplete
***** Next steps:
For help completing the install, see https://newrelic.com/docs/java/new-relic-for-java

/usr/share/tomcat7/bin/catalina.shがないためにエラーが出ました。
tomcatをyumでインストールした場合、自動でサービスが/etc/init.d/tomcat7として保存されるため、catalina.shは存在しません。

catalina.shの作成

今回はパッケージされたTomcatのcatalina.shからコピーして、
/usr/share/tomcat7/bin/catalina.sh を作成しました。

再度実行

# java -jar newrelic.jar install

インストールが完了しました。

NR_JARとCATALINA_OPTSの転記

/usr/share/tomcat7/bin/catalina.shを見てみると、以下の行が追記されていました。

# ---- New Relic switch automatically added to start command on 2014 Dec 05, 13:51:37
NR_JAR=/usr/share/tomcat7/newrelic/newrelic.jar; export NR_JAR
CATALINA_OPTS="$CATALINA_OPTS -javaagent:$NR_JAR"; export CATALINA_OPTS

上記をTomcatの起動時に読み込まれる任意のファイルに記述します。
その後Tomcatを起動すると、New RelicのJava監視が開始されました。

[Docker] MySQLコンテナと連携したTomcatコンテナのデータソース設定を動的に行うメモ

| コメントをどうぞ

Dockerにはコンテナ同士をリンクする機能があり、IPアドレスやポート番号などの情報をリンク先コンテナに渡すことができます。

この機能を使って、MySQLコンテナから渡される接続情報をTomcatコンテナのデータソース設定として動的に定義する方法を調査してみました。

以下はTomcatコンテナ “tomcat_test” を作成し、MySQLコンテナ “some-mysql” をリンクするコマンドです。

docker run --link some-mysql:mysql -it -p 8888:8080 --name tomcat_test tomcat:7.0 /bin/bash

Dockerイメージはオフィシャルで提供されているものを利用しています。

printenv で確認すると、以下のような環境変数が追加されていることが確認できます。

MYSQL_ENV_MYSQL_MAJOR=5.6
MYSQL_ENV_MYSQL_VERSION=5.6.22
MYSQL_ENV_MYSQL_ROOT_PASSWORD=mysecretpassword
MYSQL_PORT_3306_TCP=tcp://172.17.0.9:3306
MYSQL_PORT_3306_TCP_ADDR=172.17.0.9
MYSQL_PORT_3306_TCP_PORT=3306
MYSQL_PORT_3306_TCP_PROTO=tcp
MYSQL_PORT=tcp://172.17.0.9:3306
MYSQL_NAME=/tomcat_test/mysql

続きを読む

Amazon Linux + Tomcat7のJDBC接続でBasicDataSourceFactoryがないというエラー

| コメントをどうぞ

Amazon LinuxにTomcat7をyumでインストールして、MySQLと接続するアプリケーションを起動したところ、以下のようなエラーが出ました。

Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory

参考URL

解決策として、フォーラムの以下の投稿が参考になりました。
https://forums.aws.amazon.com/thread.jspa?messageID=394470

続きを読む

DynamoDB の Write しきい値が最大値に張り付いたままなのですが

| コメントをどうぞ

年末にはまだ遠い。
かといって始まったばかりとも言いがたい。
そんな11月、いかがお過ごしでしょうか。
ここ湾岸エリアは寒風が吹きすさんでおります。
さ、さむい。。。(懐が
DiceK Mikamiです。

本日はセッションレプリケーションを調査していたときに「ぐぬぬ。。。」となったことに関して共有したいと思います。
続きを読む

AWS EC2上のTomcatにJMX設定をしよう!

| コメントをどうぞ

はじめての方は初めまして、そうでない方はお久しぶりでございます。
DiceK Mikamiです。
諸事により長らくブログから遠ざかっておりましたが、戻って参りました。
決して嫌になったとかそういうんじゃないだからねっ!!
心機一転よろしくお願いいたします。
 
閑話休題
 
さて、4月になり春も真っ盛りと言う感じですが、
日本の社会人である私たちにとって4月とは新年度であり、
バタバタと忙しい日々かと思います。
新年度と言えば、、、そうですね新環境構築ですね。
今回は縁あって、EC2上に設置したTomcatに対してJMX設定を行いましたので、
その設定方法などを共有したいと思います。
これでリモート監視ができる!
 

検証環境

  • OS: Amazon Linux AMI release 2014.03
  • Java: JDK1.7.0
  • Tomcat: 7.0.5

 

リモートホスト(EC2側)の設定手順

1. Tomcatのserver.xmlにリスナーを登録する

素敵なことにJMX用のリスナーが用意されていますので、server.xmlにリスナーを追記します。

<Tomcat Home>/conf/server.xml

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10080" rmiServerPortPlatform="10081"/>

server.xmlの最初の方にリスナーが固まって記述されていますので、そのあたりに追加すれば良いです。
 

2. catalina-jmx-remote.jarをlibフォルダに追加する

リスナー登録だけでは動作してくれませんので、JMX用のライブラリ( catalina-jmx-remote.jar )をTomcatのlibフォルダに追加します。
最初から同梱されていることはほぼないと思いますので、以下から取得してください。

http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.50/bin/extras

バージョン配下にある「 bin/extras 」にjarファイルはありますので、利用するTomcatのバージョンにあわせてライブラリを取得してください。
ライブラリを取得しましたら「 $Tomcatホーム/lib 」配下に置きます。
 

3. Tomcat起動オプションを設定する

次にTomcatの起動オプションを追加します。
setenv.shを作成し、以下のオプションを追加します。

<Tomcat Home>/bin/setenv.sh

export CATALINA_OPTS="-Dcom.sun.management.jmxremote=true
                      -Dcom.sun.management.jmxremote.ssl=false
                      -Dcom.sun.management.jmxremote.authenticate=false
                      -Djava.rmi.server.hostname=<ホスト名>"

bin配下にsetenv.shがある場合、起動時にデフォルトで呼ばれますので、別個に用意しています。
検証時には、設定するホスト名をEC2インスタンスを立ち上げた時のデフォルトホスト名を設定しました。
 

4. Outboundポートを開放する

今回の目的としてEC2上のTomcatをリモート監視すると言うことになりますので、外部から接続するためのポートを開放します。
これはAWSコンソールからの設定になります。
検証では10080ポートと10081ポートを利用しましたので、その2つのポートを開放しました。

EC2側での設定は以上になります。
 

クライアントからの接続手順

いよいよクライアントから接続します。
今回はjdkに付属しているjconsoleから接続してみます。(VisualVMでも接続できます)

$ jconsole service:jmx:rmi://localhost:10081/jndi/rmi://localhost:10080/jmxrmi

これで接続完了!
 

…….
……….. 
 

こ、こんなはずでは。。。

こ、こんなはずでは。。。


!!!!!
なん、、、だと、、、???

はいそうですね。
いくらポートを開放したところでセキュリティがバッチリきいているため接続はできなくて当然ですよね。
みなさんを試したんですよ。
リモートで接続するためにSSHトンネリングを利用しましょう。

$ ssh -i  @ -L 10080:localhost:10080 -L 10081:localhost:10081

これを実行した後、再度jconsoleを起動します。

$ jconsole service:jmx:rmi://localhost:10081/jndi/rmi://localhost:10080/jmxrmi

jmxsuccess
おお、ちゃんとグラフが見えるではないか。
 
ともあれ、これでリモートでTomcatを監視し放題になりました。
今回はコマンドラインと既存ツールを使って行いましたが、
SSHトンネリングとJMXのプロトコルを利用したアプリケーションを利用すればより良い監視ライフが送れることかと思います。

Amazon Elastic Beanstalkで複数のwarファイルをアップロードする方法

| コメントをどうぞ

Amazon Elastic Beanstalk (以下 Beanstalk)では、javaアプリケーションを動かす時、warファイルをアップロードしてそのwarファイルをBeanstalkが自動的に展開してtomcatにデプロイしてくれます。 ただし、現在のBeanstalkではwarファイルは1つしかアップロードできません。 複数warファイルがあるアプリケーションをBeanstalk上で動かすのは無理なのかなーと思って色々調べたら、どうにか複数warファイルでもアプリケーションが動作する環境ができたので、その方法をまとめてみます。

ただし、公式の方法ではないので実際に試す時は注意して行なって下さい。

1.Beanstalkで利用可能なEC2インスタンスをAMIから作成する。

まずは、Beanstalkで使用するためのAMI(Amazon Machine Image)のベースになるインスタンスを作成します。

EC2のインスタンス作成時に下記画像のようにCommunity AMIsから「beanstalk」を検索し、beanstalk用のAMIからインスタンスを作成します。

2.Beanstalkで利用しているEC2インスタンスのRubyファイルを編集する。

インスタンスが作成されたら、ssh等でサーバーへログインします。

sshでログイン後に、下記コマンドでrubyファイルを編集します。このrubyファイルが、beanstalkでインスタンスを作成時に実行されて、インスタンス内のtomcatにアプリケーションをデプロイしています。

vi /opt/elasticbeanstalk/srv/hostmanager/lib/elasticbeanstalk/hostmanager/applications/tomcatapplication.rb

編集箇所1

/usr/bin/sudo /usr/bin/unzip -o -qq #{TomcatApplication.tomcat_deploy_dir}/application.war -d #{TomcatApplication.tomcat_webapps_dir}/ROOT


/usr/bin/sudo /usr/bin/unzip -o -qq #{TomcatApplication.tomcat_deploy_dir}/application.war -d #{TomcatApplication.tomcat_webapps_dir}/

編集箇所2

/usr/bin/sudo /bin/chown -R tomcat:elasticbeanstalk #{TomcatApplication.tomcat_webapps_dir}/ROOT

/usr/bin/sudo /bin/chown -R tomcat:elasticbeanstalk #{TomcatApplication.tomcat_webapps_dir}/*

編集箇所3

/usr/bin/sudo mv #{TomcatApplication.tomcat_deploy_dir}/application.war #{TomcatApplication.tomcat_webapps_dir}/ROOT.war

/usr/bin/sudo /usr/bin/unzip -o -qq #{TomcatApplication.tomcat_deploy_dir}/application.war -d #{TomcatApplication.tomcat_webapps_dir}/

編集後に、インスタンスをAMIとして保存します。

3.Warファイルを作成しBeanstalkでアプリケーションを作成する。

Beanstalkに複数のwarファイルをアップロードして複数のアプリケーションを立てる場合は、次のようなwarファイルを用意します。

application.war
├─appA.war
├─appB.war
└─appC.war

また、application.warに含まれている各warファイルのMETA-INFフォルダには、context.xmlを含めるようにして下さい。

次に、Beanstalkでアプリケーションを作成し、用意したwarファイルをbeanstalkのアプリケーションにアップロードします。

Beanstalkでのアプリケーション作成方法は下記URLなどを参考にして下さい。

http://www.atmarkit.co.jp/fjava/rensai4/devtool23/devtool23_1.html

アプリケーションを作成後しばらくすると、EC2のインスタンスが立ち上がりますが、この時点ではアップロードしたwarファイルは正常にデプロイされません。

Beanstalkでアプリケーションを作成する際、一番初めのデプロイではAMIを指定できずにデフォルトとインスタンスでアプリケーションを作成してしまうためです。

複数のwarを含んだアプリケーションをデプロイする場合は、一旦デフォルトのインスタンスで作成された後に、Beanstalk上の設定でAMIを指定する必要があります。

4.BeanstalkでAMIを指定する。

最後に、Beanstalkの「Edit Configuration」をクリックして設定画面を開き、

2で作成したAMIのIDを「Custom AMI ID」の欄に入力して「Apply Changes」で保存します。

しばらくすると3の最後で作成されたインスタンスが破棄され、設定したAMIで新しいインスタンスが起動します。

インスタンス起動後に

http://アプリケーション名.elasticbeanstalk.com/コンテキスト名

のコンテキスト名を変えると、各コンテキストへアクセスできます。

参考:https://forums.aws.amazon.com/thread.jspa?messageID=229121

自動的にデータベースを移行!?「LiquiBase」

| コメントをどうぞ

バファリンの半分は優しさでできているそうですが、
データベースの半分は怒りでできています。

お久しぶりです。DiceK Mikamiです。

データベースと言えばデータを永続化させるための魔法の箱ですが、運用者や開発者たちはこれのおかげで夜も眠れない日々を送ることが多々あります。
パフォーマンスチューニング、スキーマ構成、インデキシング、サイジング、etcetc…
その中でも今回はデータベース移行に関して取り上げたいと思います。
データベース移行はそれほど頻繁に行われる作業ではありませんが、いざ発生すると頭を抱える事態が往々にしておきます。
運用者は「参照整合性が〜」となり、開発者は「移行ツールが〜」となるわけです。
平たく言うと、「ちょ〜めんどくさい」なのです。

これらを緩和するために「LiquiBase」というデータベースリファクタリングツールを紹介したいと思います。
このツールでは、簡単なXMLでデータベースのマイグレーションや変更管理などを行うことができます。
また、対応データベースも非常に多くMySQLなどのオープンソースデータベースからOracle、IBM DB2などと言った商用データベースまでカバーしています。
実行方法もコマンドライン、Ant、Maven、サーブレットリスナーなどと多岐にわたっております。

今回はWebアプリケーション起動時に自動的にマイグレーションを行ってくれる方法(サーブレットリスナーによる実行)をサンプルにご紹介したいと思います。
(コマンドライン実行の方が簡単です。そちらに関しては参考URLより確認してみて下さい)
 
 

検証環境

OS: Mac OSX 10.7.4 Lion
Java: JDK1.6.0_33 64bit
APサーバ: Tomcat6
DB: MySQL 5.5.21
LiquiBase: version 2.0.5
 
 

検証

サンプルとして以下のPersonテーブルを既存データベースに追加してみたいと思います。

Person
Field Type Null Key Default
id int(11) NO PRI NULL
name varchar(50) NO NULL
age int(3) YES NULL

 
1. Database Change Logの作成
LiquiBaseでは、Database Change LogというXMLでデータベースの変更履歴を管理します。
これは公式ページに書き方やサンプルがありますので、そちらを参考にして下さい。
参考にしてできたXMLは以下のようなものになります。

<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd
    http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">

    <changeSet id="sample_liquibase" author="dicekmikami">
        <createTable tableName="person">
            <column name="id" type="int">
                <constraints primaryKey="true" nullable="false"/>
            </column>
            <column name="name" type="varchar(50)">
                <constraints nullable="false"/>
            </column>
            <column name="age" type="int(3)">
                <constraints nullable="true"/>
            </column>
        </createTable>
    </changeSet>

</databaseChangeLog> 

このファイルを「 WEB-INF/db/db.changelog-1.0.xml 」として保存します。
 
2. web.xmlの設定
サーブレットリスナーで実行するために、アプリケーションのweb.xmlにも記述する必要があります。
以下は追加で記述するものです。
(下部に利用した接続情報設定も記載してあります。)

    <context-param>
        <param-name>liquibase.changelog</param-name>
        <param-value>../db/db.changelog-1.0.xml</param-value>
    </context-param>
    <context-param>
        <param-name>liquibase.datasource</param-name>
        <param-value>java:comp/env/jdbc/liquibasesample</param-value>
    </context-param>
    <context-param>
        <param-name>liquibase.should.run</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>liquibase.onerror.fail</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>liquibase.schema.default</param-name>
        <param-value></param-value>
    </context-param>
    <listener>
        <listener-class>liquibase.integration.servlet.LiquibaseServletListener</listener-class>
    </listener>
    
    <resource-ref>
        <res-ref-name>jdbc/liquibasesample</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

一応、context.xmlも載せておきます。

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/liquibase-sample" reloadable="false" >
        <Resource name="jdbc/liquibasesample"
                  auth="Container"
                  type="javax.sql.DataSource"
                  driverClassName="com.mysql.jdbc.Driver"
                  url="jdbc:mysql://localhost:3306/liquibasesample?useUnicode=true&amp;characterEncoding=UTF-8"
                  username="root"
                  password=""
                  validationQuery="select 1" />
</Context>

既存データベースのサンプルとして「 liquibasesample 」というデータベースを用意しました。
 
3. ライブラリの設置
必要な記述は以上で終わりですが、ライブラリの設置が必要になります。
ライブラリはLiquiBase公式からダウンロードしてきた圧縮ファイルのなかにjarファイルがありますので、それをアプリケーションの中に入れておきます。
もちろんデータベースとの接続が必要になりますので、データベース接続ライブラリも別途必要になります。

4. 結果
さて、これで起動するたびにマイグレーションが実行されるようになりました。
早速起動してみましょう。


〜 前略 〜

情報: Webアプリケーションアーカイブ Liquibase-Sample.war を配備します
INFO 12/09/04 11:42:liquibase: Successfully acquired change log lock
INFO 12/09/04 11:42:liquibase: Creating database history table with name: `DATABASECHANGELOG`
INFO 12/09/04 11:42:liquibase: Reading from `DATABASECHANGELOG`
INFO 12/09/04 11:42:liquibase: Reading from `DATABASECHANGELOG`
INFO 12/09/04 11:42:liquibase: ChangeSet ../db/db.changelog-1.0.xml::sample_liquibase::dicekmikami ran successfully in 124ms
INFO 12/09/04 11:42:liquibase: Successfully released change log lock

〜 後略 〜

catalinaログを見ると、上記のようなログが見れると思います。
実際のデータベースの中身を見てみます。

しっかりできています。
DATABASECHANGELOGテーブルはLiquiBaseによって自動的に作成されるテーブルです。
この中に変更履歴が含まれていますので、同じ変更履歴が実行されないようになっています。
 
以上が、LiquiBaseのサーブレットリスナーによる動的マイグレーションの手法となります。
個人的には「やった!これで移行ツールのマニュアル書かなくて良い!」なのですが、変更管理や参照整合性を保った変更などをツールが肩代わりしてくれるというだけでも十分に魅力的なツールだと思います。
 
 

参考URL

LiquiBase
DBAを救え! DBリファクタリングツール「LiquiBase」を使ってみよう

Tomcatのクラスタ環境でSession Replicationする方法

| コメントをどうぞ

Tomcatを複数台立てて、各Tomcat上に上がっている同じアプリケーションのセッションを共有する方法です。

この設定をしておくと、Tomcatが1台落ちた時でも他のTomcatが落ちたTomcatで持っているセッションを引き継いでくれるため、
アプリケーションのユーザーは落ちたTomcatを使っていたとしても、セッションが切れずに他のTomcatでアプリケーションを引き続き利用することができます。

上記のような図の構成で、ユーザーのセッションがTomcat Bにあり、Tomcat B が落ちてしまった場合、Tomcat Aが生きていてもユーザーのセッションは切れてしまいユーザーは再度ログインなどをしてセッションを作成しなければならなくなります。

Session Replicationを設定していると、このような状況になってもTomcat B にあるセッションをTomcat Aに複製してくれるので、ユーザーのセッションは切れずにそのままアプリケーションを利用することが可能です。

今回はinfoScoop OSS 3.1.0 quick startでバンドルされているTomcatで設定してみます。

infoScoop OSS 3.1.0 quick startは下記URLからダウンロードできます。
http://www.infoscoop.org/index.php/ja/download/file/65-infoscoop-3.1.0-quickstart.zip.html

infoScoop OSS 3.1.0 quick startのインストール方法は下記のURLをご参照下さい。
http://www.infoscoop.org/index.php/document-310/installation-guide/quickstart-setup.html

セッションレプリケーションにはいくつか方法があるようですが、今回はJDBCを使ってデータベースにセッション情報を保存する方法を試しました。

設定手順は大きく分けると下記のような手順になります。

  1. データベースにセッション情報保存用のテーブルを作成する
  2. コンテキストファイルにデータベース情報を記述する
  3. tomcatのシステムプロパティに宣言を記述する
  4. データベースのドライバーを<TOMCAT_HOME>/libに追加する

これらの手順はinfoScoop OSS quick startをインストール後に行なって下さい。

各手順の詳細を説明します。

1.データベースにセッション情報保存用のテーブルを作成する

今回はquickstartで利用する「iscoop」というデータベースにセッション情報保存ようのテーブルを作成します。

下記sqlを対象のデータベースに対して実行します。

create table tomcat_sessions (
session_id varchar(100) not null primary key,
valid_session char(1) not null,
max_inactive int not null,
last_access bigint not null,
app_name varchar(255),
session_data mediumblob,
KEY kapp_name(app_name)
);

2.コンテキストファイルにデータベース情報を記述する

quick startのtomcat内にあるinfoscoop.xmlにデータベース情報を記述します。

apache-tomcat-6.0.28/conf/Catalina/localhost/infoscoop.xml

上記ファイルのcontext要素内に下記の情報を追記します。

<Manager className='org.apache.catalina.session.PersistentManager'
 saveOnRestart='false' minIdelSwap='0' maxIdleSwap='0' maxIdleBackup='1'>
<Store className="org.apache.catalina.session.JDBCStore"
driverName="com.mysql.jdbc.Driver"
checkInterval="1"
connectionURL="jdbc:mysql://DBサーバー名:3306/iscoop?useUnicode=true&amp;characterEncoding=UTF-8&amp;user=DB接続ユーザー名&amp;password=DB接続ユーザーパスワード"
sessionTable="tomcat_sessions"
sessionIdCol="session_id"
sessionDataCol="session_data"
sessionValidCol="valid_session"
sessionMaxInactiveCol="max_inactive"
sessionLastAccessedCol="last_access"
sessionAppCol='app_name' />
 </Manager>

connectionURLに記述するDBへの接続情報はお使いの環境に合わせて編集して下さい。

3.tomcatのシステムプロパティに宣言を記述する

tomcatのシステムプロパティファイルは下記の場所にあります。

apache-tomcat-6.0.28/conf/catalina.properties

上記ファイルの一番下に下記の内容を追記します。

org.apache.catalina.session.StandardSession.ACTIVITY_CHECK=true

4.データベースのドライバーを<TOMCAT_HOME>/libに追加する

quick start内のtomcatにはすでに追加されているので、特に作業は必要ありません。

quick startを利用しない場合は、データベースのドライバーを追加して下さい。

以上でセッションレプリケーションの設定ができます。

参考:http://d.hatena.ne.jp/sato-shi/20110122/p3