Search:

Search all manuals
Search this manual
Manual
Couchbase Server マニュアル 2.0
Community Wiki and Resources
Couchbase Server 2.0をダウンロード
Couchbase 開発者ガイド 2.0
クライアントライブラリ
Couchbase Server フォーラム
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
7 管理用コマンドラインインターフェイス
Chapter Sections
Chapters

7.10. cbtransferツール

完全に停止しているノードからデータのコピーを作成するためにこのツールを使え、稼働しているクラスタにデータをロードすることができます。cbbackupとは異なり、このツールは、もう動いていないノードからデータのコピーを作成することができます。このツールは上にcbbackupcbrestoreが構築されていることをベースとした一般的なデータ転送ツールです。これは、送信元から宛先へデータを移すことができ、軽量な抽出・変換・ロード(ETL)ツールです。送信元および宛先のパラメータは、URLやファイルパスに似ています。

Linux /opt/couchbase/bin/
Windows C:\Program Files\Couchbase\Server\bin\
Mac OS X /Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin/

標準的なコマンドの形式は次のとおりです:

Usage: cbtransfer [options] source destination

Transfer couchbase cluster data from source to destination.

Examples:
  cbtransfer http://SOURCE:8091 /backups/backup-42
  cbtransfer /backups/backup-42 http://DEST:8091
  cbtransfer /backups/backup-42 couchbase://DEST:8091
  cbtransfer http://SOURCE:8091 http://DEST:8091

Options:
  -h, --help            show this help message and exit
  -b BUCKET_SOURCE, --bucket-source=BUCKET_SOURCE
                        single bucket from source to transfer
  -B BUCKET_DESTINATION, --bucket-destination=BUCKET_DESTINATION
                        when --bucket-source is specified, overrides the
                        destination bucket name; this allows you to transfer
                        to a different bucket; defaults to the same as the
                        bucket-source
  -i ID, --id=ID        allow only items that match a vbucketID
  -k KEY, --key=KEY     allow only items with keys that match a regexp
  -n, --dry-run         no actual work; just validate parameters, files,
                        connectivity and configurations
  -u USERNAME, --username=USERNAME
                        REST username for cluster or server node
  -p PASSWORD, --password=PASSWORD
                        REST password for cluster or server node
  -t THREADS, --threads=THREADS
                        number of concurrent workers
  -v, --verbose         verbose logging; more -v's provide more verbosity
  -x EXTRA, --extra=EXTRA
                        extra, uncommon config parameters;
                        comma-separated key=val(,key=val)* pairs
  --single-node         use a single server node from the source only,
                        not all server nodes from the entire cluster;
                        this single server node is defined by the source URL
  --source-vbucket-state=SOURCE_VBUCKET_STATE
                        only transfer from source vbuckets in this state,
                        such as 'active' (default) or 'replica',
                        if supported by the source class
  --destination-vbucket-state=DESTINATION_VBUCKET_STATE
                        only transfer to destination vbuckets in this state,
                        such as 'active' (default) or 'replica',
                        if supported by the destination class
  --destination-operation=DESTINATION_OPERATION
                        use a given operation (set, add, get) on the
                        destination, if supported

  Available extra config parameters (-x):
    batch_max_bytes=400000 (max # of msg value bytes per batch);
    batch_max_size=1000 (max # msgs per batch); cbb_max_mb=100000 (max #
    of msg value MB per *.cbb file); max_retry=10 (max # of sequential
    retries); nmv_retry=1 (1 to retry after NOT_MY_VBUCKET replies);
    recv_min_bytes=4096 (amount of bytes for every recv() call); report=5
    (# batches before updating progress bar); report_full=2000 (# batches
    before emitting progress info); try_xwm=1 (1 to first try XXX-WITH-
    META commands)

このツールを使う上で最も重要なことは、障害が発生したCouchbaseのノードから、機能しているノードまたはクラスタにデータを転送できるということです:

./cbtransfer \
       couchstore-files://COUCHSTORE_BUCKET_DIR \
       couchbase://HOST:PORT \
       --bucket-destination=DESTINATION_BUCKET

./cbtransfer \
       couchstore-files:///opt/couchbase/var/lib/couchbase/data/default \
       couchbase://10.5.3.121:8091 \
       --bucket-destination=foo

次の例では、あるノードから標準出力へすべてのデータを送る方法を示しています。

shell> ./cbtransfer http://10.5.2.37:8091/ stdout:

次のような出力が生成されます:

set pymc40 0 0 10
0000000000
set pymc16 0 0 10
0000000000
set pymc9 0 0 10
0000000000
set pymc53 0 0 10
0000000000
set pymc34 0 0 10
0000000000

Couchbase Serverは、関連したデザインドキュメントではなく、バケット、ノードやクラスタの全てのデータを保存します。そのためには、明示的に情報を格納するcbbackupと、メモリに読み戻すcbrestoreをを使用する必要があります。