こんにちは、cloudpackがみさんです。

Couchbase Server2.5の準備を行ってから時間が経ってしまいました。
気がついたら3.0がリリースされたので試してみたいと思います。

今回のゴール

  • Couchbase ServerのClusterを準備
  • XDCR(cross data center replication)用Couchbase ServerのClusterを別AZにて準備
  • vBucketのXDCRを行う

構成

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - 構成

  • セキュリティグループ

インバウンドのみ変更します

方向 ポート
外部からEC2 作業用PCの拠点から8091ポートを許可
内部 ALL Trafficを許可
  • メインのCouchbase Server

Cluster nameをorenoclusterとしてグルーピングします

インスタンスタイプ 内部IP PublicIP AZ 備考
t2.micro 10.0.0.185 54.64.153.77 ap-northeast-1a マスタノード
t2.micro 10.0.0.90 54.65.36.81 ap-northeast-1a
t2.micro 10.0.0.25 54.64.36.154 ap-northeast-1a
  • XDCR側のCouchbase Server

Cluster nameをoredatteclusterとしてグルーピングします

インスタンスタイプ 内部IP PublicIP AZ 備考
t2.micro 10.0.1.91 54.65.38.120 ap-northeast-1c マスタノード
t2.micro 10.0.1.90 54.65.38.56 ap-northeast-1c
t2.micro 10.0.1.89 54.65.38.121 ap-northeast-1c
  • インストールするCouchbaseのバージョン
3.0.0 Community Edition(Build 1209)

インスタンスの起動

ap-northeast-1a,ap-northeast-1cにてEC2を3台ずつ起動します

Couchbase Serverのインストール

  • インストール

パッケージをインストールすると自動的にcouchbase-serverのプロセスが起動します。

$ sudo rpm -ivh couchbase-server-community-3.0.0-centos6.x86_64.rpm
準備しています...              ################################# [100%]
Warning: Transparent hugepages may be used. To disable the usage
of transparent hugepages, set the kernel settings at runtime with
echo never > /sys/kernel/mm/transparent_hugepage/enabled
Warning: Swappiness is not 0.
You can set the swappiness at runtime with
sysctl vm.swappiness=0
Minimum RAM required  : 4 GB
System RAM configured : 0.97 GB

Minimum number of processors required : 4 cores
Number of processors on the system    : 1 cores

更新中 / インストール中...
   1:couchbase-server-3.0.0-1209      ################################# [100%]
Starting couchbase-server[  OK  ]

You have successfully installed Couchbase Server.
Please browse to http://ip-10-0-1-89:8091/ to configure your server.
Please refer to http://couchbase.com for additional resources.

Please note that you have to update your firewall configuration to
allow connections to the following ports: 11211, 11210, 11209, 4369,
8091, 8092, 18091, 18092, 11214, 11215 and from 21100 to 21299.

By using this software you agree to the End User License Agreement.
See /opt/couchbase/LICENSE.txt.

Couchbase Serverのセットアップ

マスタノードにてセットアップを行います。
ブラウザよりhttp://54.64.153.77:8091へアクセスします

  • Welcome

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - セットアップ(1)

  • Configure server

データベースファイルのパスやMemory Quotaを設定します

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - セットアップ(2)

  • Sample Bucketの作成

サンプルバケットの作成を指定します。今回はサンプルバケットを作成します。

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - セットアップ(3)

  • defaultバケットの設定

defaultバケットのquotaを設定します。
このバケットのquotaを大きくしすぎると、他のvBucketが作成できなくなります

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - セットアップ(4)

  • 通知設定

アップデート通知などを受け取る設定(必要に応じて設定)

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - 通知設定

  • 管理者のIDとパスワードの設定

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - 管理者設定

  • マスタノードのセットアップが完了しました

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - セットアップ完了

  • バケットが作成されています

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - バケット生成を確認

  • Cluster名の設定

それぞれセットアップしたclusterに対し、ユニークな名前を設定します
orenocluster
oredattecluster

Couchbase Server 3.0: クラスタノードの登録と、XDCRの設定 - クラスタ名の設定

以上で1台目のCluster nodeが完成しました

ClusterにNodeの追加

orenoclusteroredatteclusterに2ノードずつ登録し1 Cluster, 3 node構成にします

Couchbase Server 3.0: クラスタへノード追加(1)

Couchbase Server 3.0: クラスタへノード追加(2)

Couchbase Server 3.0: クラスタへノード追加(3)

Couchbase Server 3.0: クラスタへノード追加(4)

Couchbase Server 3.0: クラスタへノード追加(5)

Couchbase Server 3.0: クラスタへノード追加(6)

Couchbase Server 3.0: クラスタへノード追加(7)

  • Cluster Nodeの確認

orenoclusterが3ノードになりました

Couchbase Server 3.0: クラスタへノード追加の動作確認

  • XDCR用ClusterのNode確認

上記の手順にてXDCR用Clusterも3Node構成にします

Couchbase Server 3.0: XDCR用クラスタの追加

XDCR(cross data center replication)の設定

XDCRの設定を行います。
XDCRはvBucket単位でレプリケーションを設定します。
単方向, 双方向のレプリケーションが可能ですが、今回は単方向レプリケーションの設定を行います。

レプリケーション先のClusterには予め空のvBucketを作成しておく必要があります。

レプリケーション対象のvBucket レプリケーション先のvBucket
beer-sample beer-sample
  • Replication用vBucketの作成

XDCR側のClusterのConsoleにアクセスし、
Data Bucketsメニューよりbeer-sampleというvBucketを作成します。

Couchbase Server 3.0: XDCR用クラスタの設定(1)

  • vBucketの確認

Couchbase Server 3.0: XDCR用クラスタの設定(2)

  • XDCRの設定

XDCRを行うClusterを設定します。

Couchbase Server 3.0: XDCR用クラスタの設定(3)

  • Replication vBucketの設定

Replication先のvBucketを指定します。

Replicateボタンをクリックすると、自動的に開始されます。

Couchbase Server 3.0: XDCR用クラスタの設定(4)

Replicationが開始されました。

Couchbase Server 3.0: XDCR用クラスタの設定(5)

  • Replicationの確認

vBucketのItem Countが同じ値になっています。

Couchbase Server 3.0: XDCR用クラスタの動作確認

簡単にClusterを構成してXDCRの設定を行うことが出来ました。

本当はReplication中にCluster Nodeを叩き落としたりするなど、挙動を確認していたのですが
スクショが多くなりすぎたのでまた今度..

最高。

元記事はこちらです。
俺でもできるシリーズCouchbase Server 3.0 Cluster Nodeの登録とXDCRの設定