orenoblog

エンジニアになりたいExcel方眼紙erの物語

俺でもできるシリーズCouchbase Server 3.0 Cluster Nodeの登録とXDCRの設定

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

今回のゴール

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

構成

f:id:buta9999:20141027172415p:plain

  • セキュリティグループ

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

方向 ポート
外部から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

f:id:buta9999:20141027175446p:plain

  • Configure server

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

f:id:buta9999:20141027180706p:plain

  • Sample Bucketの作成

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

f:id:buta9999:20141027180714p:plain

  • defaultバケットの設定

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

f:id:buta9999:20141027180721p:plain

  • 通知設定

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

f:id:buta9999:20141027180729p:plain

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

f:id:buta9999:20141027180737p:plain

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

f:id:buta9999:20141027180745p:plain

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

f:id:buta9999:20141027180756p:plain

  • Cluster名の設定

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

orenocluster

oredattecluster

f:id:buta9999:20141027182943p:plain

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

ClusterにNodeの追加

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

f:id:buta9999:20141027203747p:plain

f:id:buta9999:20141027203756p:plain

f:id:buta9999:20141027203803p:plain

f:id:buta9999:20141027203814p:plain

f:id:buta9999:20141027203821p:plain

f:id:buta9999:20141027203830p:plain

f:id:buta9999:20141027203841p:plain

  • Cluster Nodeの確認

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

f:id:buta9999:20141027203855p:plain

  • XDCR用ClusterのNode確認

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

f:id:buta9999:20141027203909p:plain

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を作成します。

f:id:buta9999:20141027205640p:plain

  • vBucketの確認

f:id:buta9999:20141027205740p:plain

  • XDCRの設定

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

f:id:buta9999:20141027210334p:plain

  • Replication vBucketの設定

Replication先のvBucketを指定します。

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

f:id:buta9999:20141027210228p:plain

Replicationが開始されました。

f:id:buta9999:20141027210311p:plain

  • Replicationの確認

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

f:id:buta9999:20141027210728p:plain

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

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

最高。