分布式数据库Couchbase 集群迁移

简介: CouchBase是一款开源的、分布式的nosql数据库,主要用于分布式缓存和数据存储领域。能够通过manage cache提供快速的亚毫米级别的k-v存储操作,并且提供快速的查询和其功能强大的能够指定SQL-like查询的查询引擎。

     

  CouchBase是一款开源的、分布式的nosql数据库,主要用于分布式缓存和数据存储领域。能够通过manage cache提供快速的亚毫米级别的k-v存储操作,并且提供快速的查询和其功能强大的能够指定SQL-like查询的查询引擎

       Couchbase是一个较新的、发展迅速的nosql数据库技术。2014年,viber宣布使用couchbase替换mongodb,以适应10亿级的用户量,目前,couchbase已大量运用于生产环境,国内使用的公司主要有新浪,腾讯等。

       Couchbase是CouchDB和MemBase的合并。而memBase是基于Memcached的。因此Couchbase联合了couchbase的简单可靠和memcached的高性能,以及membase的可扩展性。灵活的数据模型:couchbase中使用json格式存储对象和对象之间的关系。
       Nosql数据库的一个特性是不需要定义数据结构,在Couchbase中,数据可以存储为key-value对或者json文档,不需要预先定义严格的格式,由于这种特性,Couchbase支持以 scale out(水平扩展)方式扩展数据量,提升io性能,只需要在集群中添加更多的服务器就行了。相反,关系数据库管理系统scale up(纵向扩展),通过加更多的CPU,内存和硬盘以扩展容量。

本文主要介绍分布式数据库Couchbase 集群迁移方案之CBBACK/CBRESTORE


---环境描述:CentOS release 6.7 (Final)
---源主机IP:10.10.10.10(此处真实地址已xx)
---目标主机IP:11.11.11.11(此处真实地址已xx)
---应用服务:couchbase-server-enterprise-5.5.2-centos6.x86_64.rpm版本


1、CBBACK

      命令行操作方式:cbbackup [options] [source] [backup-dir] -u [admin] -p [password]


[administrator@JavaLangOutOfMemory ~ ]% ./cbbackup -m full http://10.10.10.10:8091 /home/ubunt
//-m full参数表明:执行全集群节点备份操作,基于-m参数:full、diff及accu
.
bucket: did_devices, msgs transferred...
       :                total |       last |    per sec
 byte  :                    0 |          0 |        0.0
.
bucket: xwf_events, msgs transferred...
       :                total |       last |    per sec
 byte  :                    0 |          0 |        0.0
.
bucket: xwf_main, msgs transferred...
       :                total |       last |    per sec
 byte  :                    0 |          0 |        0.0
done
[administrator@JavaLangOutOfMemory ~ ]% ./cbbackup -m full --single-node -t 3 http://10.10.10.10:8091 /home/ubuntu/ -u Administrator -p passwor
//--single-node 参数表明:执行单节点的备份操作
//-t 3参数表明:当前执行备份的线程个数为3
.
bucket: did_devices, msgs transferred...
       :                total |       last |    per sec
 byte  :                    0 |          0 |        0.0
.
bucket: xwf_events, msgs transferred...
       :                total |       last |    per sec
 byte  :                    0 |          0 |        0.0
.
bucket: xwf_main, msgs transferred...
       :                total |       last |    per sec
 byte  :                    0 |          0 |        0.0
done
[administrator@JavaLangOutOfMemory ~ ]% ./cbbackup -m full -v http://10.10.10.10:8091 /home/ubuntu/ -u Administrator -p password   
//-v参数表明:执行过程中相关log的输出
2016-01-03 11:10:39,380: mt cbbackup...
2016-01-03 11:10:39,380: mt  source : http://10.10.10.10:8091
2016-01-03 11:10:39,380: mt  sink   : /home/ubuntu/
2016-01-03 11:10:39,380: mt  opts   : {'username': '<xxx>', 'verbose': 1, 'extra': {'max_retry': 10.0, 'rehash': 0.0, 
'dcp_consumer_queue_length': 1000.0, 'data_only': 0.0, 'uncompress': 0.0, 'nmv_retry': 1.0, 'conflict_resolve': 1.0, 
'cbb_max_mb': 100000.0, 'report': 5.0, 'mcd_compatible': 1.0, 'try_xwm': 1.0, 'backoff_cap': 10.0, 'batch_max_bytes':
400000.0, 'report_full': 2000.0, 'flow_control': 1.0, 'batch_max_size': 1000.0, 'seqno': 0.0, 'design_doc_only': 0.0,
'allow_recovery_vb_remap': 0.0, 'recv_min_bytes': 4096.0}, 'collection': None, 'ssl': False, 'threads': 4, 'key': None,
'password': '<xxx>', 'id': None, 'bucket_source': None, 'silent': False, 'dry_run': False, 'single_node': False, 
'vbucket_list': None, 'separator': '::', 'mode': 'full'}
2016-01-03 11:10:39,393: mt Starting new HTTP connection (1): 10.10.10.10
2016-01-03 11:10:39,500: mt bucket: did_devices
2016-01-03 11:10:39,818: w0   source : http://10.10.10.10:8091(did_devices@10.10.10.10:8091)
2016-01-03 11:10:39,818: w0   sink   : /home/ubuntu/(did_devices@10.10.10.10:8091)
2016-01-03 11:10:39,819: w0          :                total |       last |    per sec
.
bucket: did_devices, msgs transferred...
        :                total |       last |    per sec
  batch :                    0 |          0 |        0.0
  byte  :                    0 |          0 |        0.0
  msg   :                    0 |          0 |        0.0
2016-01-03 11:10:39,902: mt Starting new HTTP connection (1): 10.10.10.10
2016-01-03 11:10:39,907: mt Starting new HTTP connection (1): 10.10.10.10
2016-01-03 11:10:39,962: mt Starting new HTTP connection (1): 10.10.10.10
2016-01-03 11:10:39,968: mt Starting new HTTP connection (1): 10.10.10.10
2016-01-03 11:10:39,973: mt bucket: xwf_events
2016-01-03 11:10:40,252: w1   source : http://10.10.10.10:8091(xwf_events@10.10.10.10:8091)
2016-01-03 11:10:40,252: w1   sink   : /home/ubuntu/(xwf_events@10.10.10.10:8091)
2016-01-03 11:10:40,252: w1          :                total |       last |    per sec
.
bucket: xwf_events, msgs transferred...
        :                total |       last |    per sec
  batch :                    0 |          0 |        0.0
  byte  :                    0 |          0 |        0.0
  msg   :                    0 |          0 |        0.0
.
... ...
done


2、CBRESTORE

       命令操作方式:cbrestore [options] [backup-dir] [destination]


[administrator@JavaLangOutOfMemory ~ ]% ./cbrestore -b xwf_events -B xwf_events --from-date=2014-08-
 .
 bucket: xwf_events, msgs transferred...
        :                total |       last |    per sec
  byte  :                    0 |          0 |        0.0
 done
 [administrator@JavaLangOutOfMemory ~ ]%./cbrestore -b xwf_events -B xwf_events --from-date=2014-08-01 --to-date=2015-08-01 -t 3 -v /home/ubuntu/ http://11.11.11.11:8091 -u Administrator -p password
 // -b 参数表明源buckets名称,即source_bucket
 // -B 参数表明目标buckets名称,即destiant_bucket
 // --from-date 参数表明从具体的某一日开始
 // --to-date 参数表明截止到具体的某一日
  2016-01-03 11:46:39,408: mt cbrestore...
  2016-01-03 11:46:39,408: mt  source : /home/ubuntu/
  2016-01-03 11:46:39,408: mt  sink   : http://11.11.11.11:8091
  2016-01-03 11:46:39,408: mt  opts   : {'username': '<xxx>', 'verbose': 1, 'extra': {'max_retry': 10.0, 'rehash': 0.0, 'dcp_consumer_queue_length': 1000.0, 'data_only': 0.0, 
  'uncompress': 0.0, 'nmv_retry': 1.0, 'conflict_resolve': 1.0, 'cbb_max_mb': 100000.0, 'report': 5.0, 'mcd_compatible': 1.0, 'try_xwm': 1.0, 'backoff_cap': 10.0, 'batch_max_bytes':
  400000.0, 'report_full': 2000.0, 'flow_control': 1.0, 'batch_max_size': 1000.0, 'seqno': 0.0, 'design_doc_only': 0.0, 'allow_recovery_vb_remap': 0.0, 'recv_min_bytes': 4096.0},
  'collection': None, 'ssl': False, 'threads': 3, 'to_date': '2015-08-01', 'key': None, 'password': '<xxx>', 'id': None, 'bucket_source': 'xwf_events', 'silent': False, 'dry_run':
  False, 'from_date': '2014-08-01', 'bucket_destination': 'xwf_events', 'add': False, 'vbucket_list': None, 'separator': '::'}
  2016-01-03 11:46:39,423: mt Starting new HTTP connection (1): 11.11.11.11
  2016-01-03 11:46:39,522: mt bucket: xwf_events
  2016-01-03 11:46:39,543: w0   source : /home/ubuntu/(xwf_events@11.11.11.11:8091)
  2016-01-03 11:46:39,544: w0   sink   : http://11.11.11.11:8091(xwf_events@11.11.11.11:8091)
  2016-01-03 11:46:39,544: w0          :                total |       last |    per sec
  2016-01-03 11:46:39,544: w0    batch :                    1 |          1 |       54.1
  2016-01-03 11:46:39,544: w0    byte  :                    0 |          0 |        0.0
  2019-01-03 11:46:39,544: w0    msg   :                    0 |          0 |        0.0
  .
  bucket: xwf_events, msgs transferred...
          :                total |       last |    per sec
    batch :                    1 |          1 |       14.3
    byte  :                    0 |          0 |        0.0
    msg   :                    0 |          0 |        0.0
  2016-01-03 11:46:39,595: mt Starting new HTTP connection (1): 11.11.11.11
  2016-01-03 11:46:39,602: mt Starting new HTTP connection (1): 11.11.11.11
  done
相关文章
|
8天前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
13天前
|
弹性计算 关系型数据库 数据库
自建数据库迁移到云数据库实操
本课程详细介绍了自建数据库迁移到阿里云RDS的实操步骤。主要内容包括:创建实例资源、安全设置、配置自建的MySQL数据库、数据库的迁移、从自建数据库切换到RDS以及清理资源。通过这些步骤,学员可以掌握如何将自建数据库安全、高效地迁移到云端,并确保应用的正常运行。
82 26
|
5天前
|
弹性计算 关系型数据库 数据库
从自建到云端,数据库迁移全攻略
本文详细介绍了将自建数据库迁移至阿里云RDS的全过程,涵盖WordPress网站安装、数据库迁移配置及验证等步骤。通过DTS数据传输服务,实现库表结构、全量和增量数据的无缝迁移,确保业务连续性和数据一致性。方案具备零成本维护、高可用性(最高99.99%)、性能优化及全面的数据安全保障等核心优势。此外,提供了详细的图文教程,帮助用户快速上手并完成迁移操作,确保业务稳定运行。点击文末“阅读原文”了解更多详情及参与活动赢取精美礼品。
|
29天前
|
弹性计算 安全 关系型数据库
活动实践 | 自建数据库迁移到云数据库
通过阿里云RDS,用户可获得稳定、安全的企业级数据库服务,无需担心数据库管理与维护。该方案使用RDS确保数据库的可靠性、可用性和安全性,结合ECS和DTS服务,实现自建数据库平滑迁移到云端,支持WordPress等应用的快速部署与运行。通过一键部署模板,用户能迅速搭建ECS和RDS实例,完成数据迁移及应用上线,显著提升业务灵活性和效率。
|
13天前
|
运维 关系型数据库 MySQL
自建数据库迁移到云数据库RDS
本次课程由阿里云数据库团队的凡珂分享,主题为自建数据库迁移至云数据库RDS MySQL版。课程分为四部分:1) 传统数据库部署方案及痛点;2) 选择云数据库RDS MySQL的原因;3) 数据库迁移方案和产品选型;4) 线上活动与权益。通过对比自建数据库的局限性,介绍了RDS MySQL在可靠性、安全性、性价比等方面的优势,并详细讲解了使用DTS(数据传输服务)进行平滑迁移的步骤。此外,还提供了多种优惠活动信息,帮助用户降低成本并享受云数据库带来的便利。
|
23天前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB 分布式版 V2.0,安全可靠的集中分布式一体化数据库管理软件
阿里云PolarDB数据库管理软件(分布式版)V2.0 ,安全可靠的集中分布式一体化数据库管理软件。
|
2月前
|
Shell 数据库
GBase8a 数据库新集群第一次创建dblink
GBase8a 数据库新集群第一次创建dblink
|
2月前
|
SQL 数据库
GBase8a 数据库集群v953扩容案例问题分享
GBase8a 数据库集群v953扩容案例问题分享
|
28天前
|
安全 关系型数据库 MySQL
体验自建数据库迁移到云数据库RDS,领取桌面置物架!
「技术解决方案【Cloud Up 挑战赛】」正式开启!本方案旨在帮助用户将自建数据库平滑迁移至阿里云RDS MySQL,享受稳定、高效、安全的数据库服务,助力业务快速发展。完成指定任务即可赢取桌面置物架等奖励,限量供应,先到先得。活动时间:2024年12月3日至12月31日16点。
|
9天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
34 3