Confluence Data Center のインストール

このガイドでは、クラスタ化されたソリューションである Confluence Data Center を初めてインストールする (既存データなし) 方法を段階的に説明します。 

Confluence サーバーインスタンスが既にある場合、「Confluence Data Center への移行」を参照してください。

クラスタ化の要件および専門用語

Confluence をクラスタで実行するには以下が必須条件になります:

  • Data Center ライセンスを所有している (Data Center ライセンスを購入するか、my.atlassian.com で評価ライセンスを作成することが可能)。
  • サポート対象となっているバージョンの外部データベース、OS、Javaを使用する。
  • クラスタの前にセッションアフィニティと WebSockets サポートを使用したロードバランサを使用する
  • 同じパスですべてのクラスタノードにアクセス可能な共有ディレクトリ(共有ホームディレクトリになります)が存在する
  • 他のアトラシアン製品(JIRA 等)へのアプリケーション リンクがある場合、OAuth 認証を使用する。

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

  • インストール ディレクトリ - 単体ノードに Confluence をインストールしたディレクトリ。
  • ローカルのホームディレクトリ - 各ノードのホームディレクトリまたはデータディレクトリ(クラスタ化されていないディレクトリ。 Confluence では、単にホームディレクトリと呼ばれます) 。
  • 共有ホームディレクトリ - 作成したディレクトリで、クラスタの同一パスを経由してすべてのノードにアクセス可能なディレクトリ。 
  • Synchrony ディレクトリ - Synchrony をダウンロードしたディレクトリ (confluence ノードや独自のノード上にあります)

インストールが終了すると、各ノードにインストールディレクトリ、ローカルのホームディレクトリ、および Confluence に共有ホームディレクトリが 1 つと Synchrony のディレクトリが存在することになります (2 つのノードクラスタに合計で5 個のディレクトリ)。 

1. ノード 1 に Confluence をインストール

  1. ノード 1 に Confluence をインストールします。
    詳細は、「Windows で Zip ファイルから Confluence をダウンロード」または「Linux でアーカイブファイルから Confluence をインストール」を参照してください。 
  2. ノード 1 で Confluence を開始する。
  3. 以下を入力してセットアップウィザードを完了します。
    • クラスタ ライセンス
    • クラスタ名
    • 作成済みの共有ホームディレクトリへのパス
    • 他のノードとの通信用に Confluence が使用するネットワーク インターフェイス
    • マルチキャストアドレス (自動生成または手動入力) または各クラスターノードの IP アドレス
  4. ノード 1 で Confluence を停止する

2. Synchrony のセットアップ

共同編集では、別のプロセスとして実行される Synchrony が必要です。同じノード上に Confluence として Synchrony を配置したり、必要な数のノードと共に独自のクラスター内に配置することができます。この手順を開始する前に、手順 1 (Data Center の入力を含む) を完了する必要があります。

この例では、独自のクラスタで Synchrony を実行していると仮定します。クラスタ ノードを設定する場合、各 Synchrony クラスタ ノードの IP アドレスまたはマルチキャスト アドレスを提供することができます。

  1. Create a Synchrony directory on your first node and copy synchrony-standalone.jar from your Confluence <home-directory> to this directory. 
  2. Copy your database driver from your Confluence <install-directory>/confluence/web-inf/lib to an appropriate location on your Synchrony node.
  3. 次のコマンドを使用して Synchrony ディレクトリに変更し、Synchrony を起動します。
    リストされているすべてのシステム プロパティをすべて私、表示されている値を置き換える必要があります。

    Synchrony コマンドを起動する...

    In a terminal / command prompt, execute the following command, replacing <values> with appropriate values for your environment. Scroll down for more information on each of the values you will need to replace.
     

    java 
    -Xss2048k 
    -Xmx2g 
     
    # To set the classpath in Linux based operating systems
    -classpath <PATH_TO_SYNCHRONY_STANDALONE_JAR>:<JDBC_DRIVER_PATH> 
     
    # To set the classpath in Windows operating systems
    -classpath <PATH_TO_SYNCHRONY_STANDALONE_JAR>;<JDBC_DRIVER_PATH> 
     
    -Dsynchrony.cluster.impl=hazelcast-btf 
    -Dsynchrony.port=<SYNCHRONY_PORT> 
    -Dcluster.listen.port=<CLUSTER_LISTEN_PORT>
    -Dsynchrony.cluster.base.port=<CLUSTER_BASE_PORT>
     
    # Remove this section if you don't want to discover nodes using TCP/IP
    -Dcluster.join.type=tcpip 
    -Dcluster.join.tcpip.members=<TCPIP_MEMBERS> 
     
    # Remove this section if you don't want to discover nodes using multicast
    -Dcluster.join.type=multicast
    -Dcluster.join.multicast.group=<MULTICAST_GROUP> 
    -Dcluster.join.multicast.port=54327 
    -Dcluster.join.multicast.ttl=32 
     
    -Dsynchrony.context.path=/synchrony 
    -Dsynchrony.cluster.bind=<SERVER_IP> 
    -Dsynchrony.bind=<SERVER_IP> 
    -Dcluster.interfaces=<SERVER_IP>
    -Dsynchrony.service.url=<SYNCHRONY_URL> 
    -Djwt.private.key=<JWT_PRIVATE_KEY> 
    -Djwt.public.key=<JWT_PUBLIC_KEY>
    -Dsynchrony.database.url=<YOUR_DATABASE_URL> 
    -Dsynchrony.database.username=<DB_USERNAME> 
    -Dsynchrony.database.password=<DB_PASSWORD>  
    
    # The following properties must be passed, but their values do not matter
    -Dip.whitelist=127.0.0.1,localhost
    -Dauth.tokens=dummy 
    -Dopenid.return.uri=http://example.com 
    -Ddynamo.events.table.name=5 
    -Ddynamo.snapshots.table.name=5
    -Ddynamo.secrets.table.name=5 
    -Ddynamo.limits.table.name=5 
    -Ddynamo.events.app.read.provisioned.default=5 
    -Ddynamo.events.app.write.provisioned.default=5 
    -Ddynamo.snapshots.app.read.provisioned.default=5 
    -Ddynamo.snapshots.app.write.provisioned.default=5 
    -Ddynamo.max.item.size=5 
    -Ds3.synchrony.bucket.name=5 
    -Ds3.synchrony.bucket.path=5 
    -Ds3.synchrony.eviction.bucket.name=5 
    -Ds3.synchrony.eviction.bucket.path=5 
    -Ds3.app.write.provisioned.default=100
    -Ds3.app.read.provisioned.default=100
    -Dstatsd.host=localhost 
    -Dstatsd.port=8125 
    synchrony.core 
    sql

    (warning) Remember to remove all commented lines completley before you execute this command, and replace all new lines with white space. You may also need to change the name of the synchrony-standalone.jar if the file you copied is different to our example.

    上記のコマンドで提供する必要のある各値に関するその他の情報。

    説明
    <SYNCHRONY_PORT>
    Synchrony を実行する HTTP ポートです。 利用可能な場合は、ポート 8091 を提案します。
    <CLUSTER_LISTEN_PORT>
    Synchrony の Hazelcast ポートです。利用可能な場合は、ポート 5701 の使用を提案します。Confluence の Hazelcast ポート (5801) と同様に、ファイアウォールまたはネットワークの分離の使用を通じて、承認を受けたクラスタ ノードのみがこのポートへの接続を許可されていることを確認してください。
    <CLUSTER_BASE_PORT>
    これは Aleph バインディング ポートです。Synchrony は Aleph を使用して、ノード間で通信します、利用可能であれば、ポート 25500 をお勧めします。
    <TCPIP_ MEMBERS>TCP/IP を使用してノードを検出するようせんたくした場合、各クラスターノードの IP アドレスのコンマ区切りリストを提供します。
    <MULTICAST_GROUP>マルチキャストを使用してノードを検出する場合は、マルチキャスト グループの IP アドレスを指定します。
    <SERVER_IP>
    この Synchrony ノードの公開 IP アドレスまたはホスト名。プライベート IP アドレスの場合もあります。その他のノードによって、Synchrony が到達可能なアドレスに設定する必要があります。
    <SYNCHRONY_URL>This is the URL that the browser uses to contact Synchrony. Generally this will be the URL for your load balancer plus the Synchrony context path, for example http://yoursite.com/synchrony
    <JWT_PRIVATE_KEY>
    <JWT_PUBLIC_KEY>
    These keys are generated by Confluence. Copy each key from the <local-home>/confluence.cfg.xml file on your first Confluence node. The keys must be the same on all Confluence and Synchrony nodes.
    <YOUR_DATABASE_URL>
    This is the URL for your Confluence database. For example jdbc:postgresql://localhost:5432/confluence. You can find this URL in <local-home>/confluence.cfg.xml.
    <DB_USERNAME>
    <DB_PASSWORD>
     Confluence データベース ユーザーのユーザー名とパスワード。
    <PATH_TO_SYNCHRONY_STANDALONE_JAR>
    This is the path to the synchrony_standalone.jar that you copied in step 1. For example <synchrony-directory>/synchrony_standalone.jar
    <JDBC_DRIVER_PATH>
    This is the path to your database driver. For example <synchrony-directory>/postgresql-9.2-1002.jdbc.jar.
    <YOUR_LOAD_BALANCER>
    This is the full URL of the load balancer Synchrony will run behind, for example, http://<lb_host>:<lb_port><lb_context_path>. For example, if your loadbalancer path is synchrony, then it will be http://hostname:80/synchrony. Notice that it does not end with /v1, unlike the synchrony.service.url system property passed to Confluence. If this URL doesn't match the URL coming from a users' browser, Synchrony will fail.

    機密性の高い情報(データベースの認証情報など)は、コマンドライン経由ではなく、環境変数を使用して指定することができます。変数名(識別子)のドット(「.」)は、アンダースコア(「_」)で置き換える必要があります。 

    いくつかの他のプロパティは、環境に合わせて変更することができます。詳細は、「Data Center 用の Synchrony の設定」を参照してください。

  4. To check that Synchrony is accessible, go to:
    http://<SERVER_IP>:<SYNCHRONY_PORT>/synchrony/heartbeat
  5. このプロセスを繰り返して、Synchrony クラスタの各ノードで Synchrony を起動します。
    各ノードが結合すると、表示はこのコンソール内のようになります。

    Members [2] {
    	Member [172.22.52.12]:5701
    	Member [172.22.49.34]:5701 
    }
    
  6. Synchrony 用にロードバランサを設定します。
    ロードバランサは WebSockets (例: NGINX 1.3 以降、Apache httpd 2.4、IIS 8.0 以降) およびセッション アフィニティをサポートする必要があります。Synchrony が Web ブラウザからの XHR リクエストを承認できるよう、ロードバランサで SSL接続を終了させる必要があります。 

3. ノード 1 で Confluence を開始する

  1. ノード 1 で Confluence を起動し、次のシステム プロパティを渡して Synchrony クラスタの場所を Confluence に伝えます。

    -Dsynchrony.service.url=http://<YOUR_LOAD_BALANCER>:<LOAD_BALANCER_PORT>/synchrony/v1

    このシステム プロパティを <install-directory>/bin/setenv.bin または setenv.bat に追加すると、Confluence を起動するたびに自動的に渡されます。ご利用の環境でこれを実施する方法の詳細については、「システム プロパティの設定」を参照してください。

  2. Head to  > General Configuration > Collaborative editing to check that this Confluence node can connect to Synchrony. 

    Note: to test creating content you'll need to access Confluence via your load balancer.  You can't create or edit pages when accessing a node directly.

4.ノード 2 に Confluence をコピー

2 つ目のノードに Confluence をコピーするには:

  1. ノード 1 で Confluence をシャットダウンする。
  2. ノード2 でアプリケーション サーバーをシャットダウン、または自動的にウェブアプリケーションのロードを停止する。
  3. ノード 1 からノード 2 へインストール ディレクトリをコピーする。
  4. Copy the local home directory from node 1 to node 2
    If the file path of the local home directory is not the same on nodes 1 and 2 you'll need to update the <installation directory>/confluence/WEB-INF/classes/confluence-init.properties file on node 2 to point to the correct location.

ローカルのホームディレクトリをコピーすることで、確実に Confluence 検索インデックス、データベース、クラスタ設定、その他の設定をノード 2 にコピーします。

5. ロードバランサの設定

Confluence 用にロードバランサを設定します。ロードバランサはお好みで選択できますが、セッションアフィニティと WebSocketsのサポートが必要となります。

Synchrony が Web ブラウザからの XHR リクエストを承認できるよう、ロードバランサで SSL接続を終了させる必要があります。

ご利用のロードバランサを以下の点で検証します:リクエストを送信する際、Confluence にアクセスしてロードバランサを通過し、既存の Confluence サーバーに正しく送信してページを作成し、このページがロードバランサを使用した他のマシンから閲覧・編集が可能である。

6. ノード 1 で Confluence を開始、待つ、ノード 2 で Confluence を開始

一度に1つの Confluence サーバーのみ起動する必要があります。

  1. ノード 1 で Confluence を開始する。
  2. Confluence がノード 1 で使用可能になるまで待つ。
  3. ノード 2 で Confluence を開始する。
  4. Confluence がノード 2 で使用可能になるまで待つ。

The Cluster monitoring console ( > General Configuration > Clustering) includes information about the active cluster.

クラスタが適切に実行されていると、このページにシステムの使用状況やアップタイムなどを含む各ノードの詳細情報が表示されます。クラスタの各ノードの詳細情報については、 メニューから参照してください。

スクリーンショット:クラスタ監視コンソール

7. Confluence クラスタのテスト

コンテンツをテストするには、ロードバランサ経由で Confluence にアクセスする必要があります。ノードに直接アクセスする場合、ページを作成または編集することはできません。

クラスタが正しく作動しているか確認する簡単な方法は:

  1. ロードバランサ経由でノードにアクセスし、このノードで新しいドキュメントを作成します。
  2. 異なるノードに直接アクセスして新しいドキュメントが見えているかを確認します。
  3. 元のノードで新しいドキュメントを検索し、表示されるか確認します。
  4. 別のノードで新しいドキュメントを検索し、表示されるか確認します。

作動していないクラスタの 2 つ以上のインスタンスがデータベースにアクセスしていることを Confluence が 検知すると、クラスタパニックを起こし、Confluence はシャットダウンします。クラスタネットワーク接続性のトラブルシューティングから解決してください。

セキュリティ

権限のあるクラスターノードのみが、ファイアウォールおよびネットワークの分離を利用して Confluence Data Center インスタンスの Hazelcast ポート (デフォルトではポート 5801) または Synchrony の Hazelcast (デフォルトではポート 5701) への接続を許可されるようにします。

トラブルシューティング

上記の手順で問題が発生した場合は、クラスタ トラブルシューティング ガイドを参照してください。

クラスタを一つのマシンで作動させて Confluence データセンターのテストを行う場合は、 単体マシンで Confluence クラスタ を開始に記載された開発者向け説明書を参照してください。

クラスタのアップグレード

Confluence データセンターのアップグレードの手順にしたがってアップグレードすることが重要です。

 

最終更新日 2017 年 7 月 14 日

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

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