Jira Data Center クラスタのセットアップ

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

Jira Data Center では複数の Jira ノードのクラスタを実行して、高可用性、拡張のためのキャパシティ、および大規模環境でのパフォーマンスを実現できます。このガイドでは、お客様自身のインフラストラクチャで Data Center クラスタを構成するプロセスについて説明します。 

クラスタ化が自社に適しているかわからない場合、詳細な概要について「クラスタでの Jira Data Center の実行」を参照してください。

はじめる前に

Data Center をセットアップするにあたり、次の情報をご確認ください。

サポート対象プラットフォーム

使用可能なデータベース、Java、およびオペレーティング システムの詳細については、「サポート対象のプラットフォーム」を参照してください。Server と Data Center デプロイメントで要件は同じです。

要件

Jira Data Center を使用するには、次の条件を満たしている必要があります。

Jira をクラスタで実行するには、次の条件も満たす必要があります。

  • Jira クラスタの手前に、セッション アフィニティと WebSocket サポートを提供するロード バランサを使用する。ロード バランサの例
  • 同じパスですべてのクラスタ ノードにアクセス可能な共有ディレクトリ (共有ホーム ディレクトリになります) が存在する。ローカル ホームまたはインストール ディレクトリ内ではない、別のディレクトリである必要があります。
アプリの互換性

アプリは、アトラシアン アプリケーションでチームが実現できる内容を拡張します。Data Center に移行した後もチームで引き続きアプリを使用できるかどうかを確認しておくことが重要です。Data Center に切り替える際に、アプリの Data Center 互換バージョンが利用可能な場合はそれに切り替える必要があります。 

詳細については、「Data Center への移行に向けてアプリを評価する」を参照してください。 

用語

このガイドでは以下の用語について説明します:

  • インストール ディレクトリ: Jira をインストールしたディレクトリ。

  • ローカルのホーム ディレクトリ: 各クラスタ ノードにローカルで保存されるホームまたはデータ ディレクトリ (Jira がクラスタで実行されていない場合は単に "ホーム ディレクトリ")。

  • 共有ホーム ディレクトリ: 同一パスを経由してクラスタのすべてのノードにアクセス可能な、ユーザーが作成したディレクトリ。

クラスタのセットアップと構成

1. Jira インスタンスのインストールまたはアップグレード

Jira Data Center は Jira 7.0 以降で使用できます。これよりも前のバージョンを使用している場合、Jira インスタンスをインストールまたはアップグレードしてください。 

Jira インストールおよびアップグレード ガイド

2. 共有ディレクトリのセットアップ

クラスター内のすべてのノードで読み取り/書き込み可能なリモート ディレクトリを作成する必要があります。これを行うには複数の方法がありますが、もっとも簡単な方法は、NFS 共有を使用することです。

  1. クラスタ内のすべてのノードがアクセス可能なリモート ディレクトリを作成し、名前を設定します (例: sharedhome
  2. Jira インスタンスを停止します。
  3. 次のディレクトリを Jira のローカル ホーム ディレクトリから新しい sharedhome ディレクトリにコピーします (一部は空の場合があります)。

    • data
    • plugins
    • logos
    • import
    • export
    • caches
    • keys
Recommended mount options

When you provision your application cluster nodes laterwe recommend using the following NFS mount options used for deploying Jira Data Center on AWS:

rw,nfsvers=4.1,lookupcache=pos,noatime,intr,rsize=32768,wsize=32768,_netdev

For more details, check Getting started with Jira Data Center on AWS

Learn more about the recommended mount options and consider some others available in Jira DC AWS CloudFormation templates:

  • rw (read-write) specifies that the file share should be mounted as read-write. This is useful if you need to modify the contents of the file share.
  • hard or soft specify the behavior of the mount if the NFS server becomes unavailable. hard means that the mount will keep retrying until the server becomes available again, while soft means that the mount will eventually give up and return an error.
  • intr or nointr specify whether or not the mount should allow processes to be interrupted if the NFS server becomes unavailable. intr allows processes to be interrupted, while nointr does not.
  • noatime specifies that the access time of files on the file share shouldn't be updated every time a file is accessed. This can improve performance.
  • async or sync specify whether the file system should be mounted in asynchronous or synchronous mode.
    • In asynchronous mode (async), data is written to the file system in the background, which can improve performance but may result in data loss if the system crashes.
    • In synchronous mode (sync), data is written to the file system immediately, which is safer but may result in slower performance.

3. Jira インスタンスをクラスタ内で動作するように設定する

  1. Jira のローカル ホーム ディレクトリで、次のコンテンツを含む cluster.properties ファイルを作成します。 

    cluster.properties ファイルの例:

    # この ID はクラスタ間で一意である必要があります
    jira.node.id = node1
    # すべての Jira ノードの共有ホーム ディレクトリの場所
    jira.shared.home = /data/jira/sharedhome

    詳細や追加パラメーターについては、「Cluster.properties ファイルのパラメーター」を参照してください。

  2. Linux 接続の場合: オープンなファイルの最大数を増やすことをおすすめします。これを行うには、次の行を <jira-install>/bin/setenv.sh に追加します。

    ulimit -n 16384


  3. インスタンスを起動して、Data Center ライセンスを適用します。


4. 最初のノードをロード バランサに追加する

ロード バランサはノード間のトラフィックを分散させます。ノードが動作を停止すると、残りのノードがワークロードを引き継ぐため、ユーザーは気付くこともありません。

  1. 最初のノードをロード バランサに追加します。 
  2. ノードを再起動し、Jira で別のページを開きます。ロード バランサが正常に動作している場合、Jira に問題なくアクセスできます。 

5. 残りのノードをクラスターに追加します。

残りのノードをクラスタに追加する方法は、最初のノードに Jira をインストールする際に使用した方法によって異なります (.zip または .tar.gz アーカイブから手動でインストールしたか、.bin または .exe インストーラーを使用したか)。元のインストール方法に対応するステップに従います。

Jira が.zip または .tar.gz アーカイブから最初のノードに手動でインストールされた場合...
  1. Jira インストール ディレクトリとホーム ディレクトリを、既存のノードから新しいノードにコピーします。

  2. 新しいノードが共有ホーム ディレクトリの読み取り/書き込みを行えることを確認します。

  3. 一意のノード ID と IP アドレス (指定されている場合) を指定して、新しいノードで <home-directory>/cluster.properties を編集します。

  4. Jira を起動します。共有ホーム ディレクトリから設定が読み取られて、追加ステップなしで起動されます。

  5. 新しい Jira インスタンスで、課題の作成、検索、ファイル添付、およびカスタマイズが期待どおりに動作することを確認します。

  6. すべて問題なければ、トラフィックを新しいノードにルーティングし始めるようにロード バランサを設定できます。これを行うと、1 つの Jira インスタンスにいくつかの変更を加えて、他のインスタンスにも表示されるかどうかを確認できます。同じ方法を使用して、同じバージョンの Jira をクラスタ内の別のノードにインストールします。インストール中に、Jira のインストールの場所とホーム ディレクトリのパスをメモします。

Jira が.bin または .exeインストーラーを使用して最初のノードにインストールされた場合...
  1. 新しいノードが共有ホーム ディレクトリの読み取り/書き込みを行えることを確認します。

  2. Jira を起動して、アプリケーションがホーム ディレクトリに書き込めるようにします。

  3. ブラウザで Jira を開いて、セットアップ ページが表示されていることを確認します。ページが表示されたらインストールは成功しているので、ブラウザを閉じられます。

  4. Jira を停止します。

  5. 既存のノードの Jira ホーム ディレクトリから新しいノードの Jira ホーム ディレクトリに dbconfig.xmlcluster.properties をコピーします。

  6. 既存のノードの <installation-directory>/conf から server.xml を新しいノードの <installation-directory>/conf にコピーします。

  7. 一意のノード ID と IP アドレス (指定されている場合) を指定して、新しいノードで <home-directory>/cluster.properties を編集します。

  8. 既存のノードで重要なディレクトリやファイルを変更した場合 (たとえば、<installation-directory>/bin/setenv.sh<installation-directory>/conf/web.xml)、変更したファイルを新しいノードの同じ場所にコピーします。

  9. Jira が SSL 上で実行されている場合は、SSL 証明書を新しいノードのローカル Java トラストストアにインポートして、Jira がベース URL を介して自身と通信できるようにします。

  10. Jira を起動します。共有ホーム ディレクトリから設定が読み取られて、追加ステップなしで起動されます。

  11. 新しい Jira インスタンスで、課題の作成、検索、ファイル添付、およびカスタマイズが期待どおりに動作することを確認します。

  12. すべて問題なければ、新しいノードへのトラフィックのルーティングを開始するようにロード バランサを構成できます。この構成を行ったら、1 つの Jira インスタンスで複数の変更を行い、ほかのインスタンスに反映されることを確認します。

クラスターにノードを追加する際に、次のようにステータスを確認できます。

  1. 画面右上で [管理] > [システム] の順に選択します。
  2. [システム サポート] で、[システム情報] を選択します。ノードは [クラスター ノード] セクションに表示されます。

Cluster.properties ファイルのパラメーター

必須パラメーターに加えて、cluster.properties ファイルで一部の追加オプション (ほとんどは EhCache に関するもの) を設定できます。

詳細を読む...
パラメーター必須説明/値
jira.node.id はいこの固有 ID は、Apache 構成のユーザー名および BalancerMember エントリと一致する必要があります。
jira.shared.homeはいすべての Jira ノードの共有ホーム ディレクトリの場所。
ehcache.peer.discoveryいいえ

ノードがお互いを見つける方法を示します。

default - Jira は自動的にノードを検出します (推奨)。
automatic - Jira は EhCache のマルチキャスト検出を使用します。これは EhCache が使用する従来の方法ですが、設定が難しい場合があるため、アトラシアンでは推奨していません。

自動を選択した場合...

ehcache.peer.discovery = automatic を設定する場合、次のパラメーターを設定する必要があります。

  • ehcache.multicast.address

  • ehcache.multicast.port

  • ehcache.multicast.timeToLive

  • ehcache.multicast.hostName

これらのパラメーターの詳細については、Ehcache ドキュメントを参照してください。

ehcache.listener.hostNameいいえ

The hostname of the current node for cache communication. Jira Data Center will resolve this internally if the parameter isn't set.
If you have problems resolving the hostname of the network you can set this parameter. If you’re facing name resolve issues, you can also use the IP Address of the node.

ehcache.listener.portいいえ

ノードがリッスンすることになるポート (既定 = 40001)。

複数のノードが同じホスト上にあるか、このポートが利用できない場合、手動でこれを設定することが必要な場合もあります。

ehcache.object.portいいえ

レジストリでバインドされているリモート オブジェクトが呼び出しを受信するポート (既定は 40011)。このポートはファイアウォールでも開放する必要があります。

複数のノードが同じホスト上にあるか、このポートが利用できない場合、手動でこれを設定することが必要な場合もあります。

ehcache.listener.socketTimeoutMillisいいえ既定では、これは Ehcache の既定に設定されます。

最終更新日: 2021 年 10 月 6 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.