Confluence Data Center をアップグレードする

お困りですか?

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

コミュニティに質問

このページでは既存の Confluence クラスタのアップグレードについて説明します。

Confluence の既存のクラスタ化インスタンスをまだ実行していない場合は、Confluence Data Center への移行を参照してください。

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

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

On this page:

ステップ 1 バックアップ

アップグレードを実行する前に、Confluence ホームディレクトリ、インストール ディレクトリ、およびデータベースのバックアップを取っておくことを強く推奨します。

バックアップを取るべき具体的なファイルとディレクトリについては、Confluence のアップグレードを参照してください。

ステップ 2 クラスタを停止する

アップグレードを開始する前に、クラスタ内のすべてのノードを停止する必要があります。 

アップグレードがすべてのノードで完了するまでは、ロードバランサーの設定を Confluence からトラフィックをリダイレクトするようにしておくことをお勧めします。

ステップ 3 共有ホームディレクトリを作成する

(warning) If you are upgrading an existing Confluence Data Center instance (Confluence 5.6 or later), you can skip this step, as you already have a Shared Home directory.

共有ホーム ディレクトリをセットアップするには:

  1. クラスタの同一パスを経由してすべてのノードにアクセス可能なディレクトリを作成します。これが共有ホームディレクトリになります。 
  2. Edit confluence.cfg.xml in the home directory on the first node and add a new property called confluence.cluster.home with the path of the shared home directory as the value. Example:

    <property name="confluence.cluster.home">/mnt/confluence-shared-home</property>
  3. 以下を除いて、1 つ目のノードのローカル ホーム ディレクトリからすべてのファイルとディレクトリを新しい共有ホームディレクトリに移動します: 

    • config
    • confluence.cfg.xml
    • index
    • temp
    • bundled-plugins
    • plugin-cache-*
    • plugins-cache
    • plugins-osgi-cache
    • plugins-temp

     その他のすべてのノードでは、ローカル ホーム ディレクトリから移動したファイルとディレクトリを削除します。

ステップ 4 1 つ目のノードをアップグレードする

1 つ目のノードをアップグレードするには:

  1. ディレクトリ(新しいインストールディレクトリ。既存のインストール ディレクトリとは異なる必要があります)にファイルを抽出(解凍)する
  2. <Installation-Directory>\confluence\WEB-INF\classes\confluence-init.properties  ファイルで次の行を更新し、対象のノードの既存のローカル ホーム ディレクトリを指すようにします。
  3. 既存の Confluence インストール ディレクトリから新しいインストール ディレクトリの confluence/WEB-INF/lib に、jdbc ドライバの jar ファイルをコピーします。
    jdbc ドライバは <Install-Directory>/common/lib または <Installation-Directory>/confluence/WEB-INF/lib ディレクトリにあります。 
  4. その他の必要なカスタマイズを旧バージョンから新バージョンに直ちにコピーします(Confluence をデフォルトのポートで実行していない場合、または外部でユーザーを管理している場合、関連ファイルをアップデートおよびコピーする必要があります - 詳細はConfluence を手動でアップグレードするを参照してください)。
  5. Confluence を起動し、次のステップに進む前に、ログインできるか、ページを閲覧できるか、確認してください。この時点ではページを編集しようとしないでください。 

残りのノードをアップグレードする前に、この時点で旧バージョンから新バージョンへ追加のカスタマイズも再適用してください。

ステップ 5 Synchrony のセットアップ

(warning) This step is only required the first time you upgrade to Confluence Data Center 6.0.

この例では、独自のクラスタで 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接続を終了させる必要があります。 

ステップ 6 ノード 1 での Confluence の起動

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

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

    You may want to add this system property to your <install-directory>/bin/setenv.bin or setenv.bat so it is automatically passed every time you start Confluence. See Configuring System Properties for more information on how to do this in your environment.

  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.

ステップ 7 Confluence を残りのノードにコピーする

次は、アップグレードした Confluence ディレクトリをクラスタ内の他のノードに複製します。  

  1. Confluence を 1 つ目のノードで停止します。
  2. 1 つ目のノードから次のノードに、インストール ディレクトリとローカル ホーム ディレクトリをコピーします。
    ローカルのホーム ディレクトリへのパスが別のノードにある場合、confluence-init.properties を編集して適切な場所を指すようにします。 
  3. Confluence を起動し、次のノードのアップグレードに進む前に、ログインできるか、ページを閲覧できるか、確認してください。

残りの各ノードに対し、同様のプロセスを繰り返します。 

ステップ 8 Confluence を起動し、クラスタ接続を確認する 

一旦すべてのノードをアップグレードし終わったら、各ノードで Confluence Data Center を 1 つずつ起動してください(複数のノードで同時に起動すると、深刻な障害のを引き起こすおそれがあります)。

The Cluster monitoring console ( > General Configuration > Clustering) includes information about the active cluster nodes. When the cluster is running properly, you should be able to see the details of each node. 

最終更新日 2016 年 9 月 29 日

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

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