zoukankan      html  css  js  c++  java
  • Memcache升级版:CouchBase的安装配置与使用说明

    Memcache基本上已经是开发的标配了,但是对于Memcache集群,很多线上部署仍然是很单薄的。

    几个存在的问题:不健壮、数据不安全、配置变更可能导致存取异常、后备数据的一致性

    鉴于存在以上问题,Memcache的开发团队开发了Membase,支持多台服务器集群,数据的切片和复制,有效的提高了服务稳定性和数据的安全 性,并且支持数据的持久存储。代码的稳定性不够好,我曾经在部分线上业务上使用了Membase,后来因为几次莫名的存取操作缓慢,只能又撤销回到 Memcache。

    之后,Membase团队与CouchDB团队合并,推出二合一的产品: Couchbase。

    Couchbase的最大特点:

    1,完全继承Memcache,原生支持所有Memcache操作;

    2,继承了Membase的特性,支持集群和数据持久化;

    3,继承了CouchDB的文档性质,支持通过View对数据进行操作。这个View的特性,提供了以往memcache所不具备的便利性,但是同Mongodb相比又很简单原始,感觉不是一种普遍需求的功能。

    首先,从安装讲起:

    安装服务器:

    去官网下载对应版本的安装包http://www.couchbase.com 目前最新版本是2.1.1

    从membase开始,就提倡采用web方式进行管理(执行完安装文件后,在浏览器中http://localhost:8091端口访问),默认是8091端口。

    另外一段信息,是关于端口。11211是memcache访问端口,8091是管理和操作端口,其他几个是用于管理和集群通讯的。

    打开8091进行初始化设置:

    初始化过程很人性化,第一步是选择物理存储位置,并且设定新创建还是加入到一个已有的集群中。

    如果选择新创建,需要指定内存使用的数量(注意若在集群中,所有集群的Mem内存必须都大于此值)。下一步中,还可以选择自动灌入一些测试数据,这样能直接体验一些view的效果。

    再下一步,是创建缺省Bucket设置,这个很重要:

    Bucket的意义,在于将数据进行分隔,比如:任何view就是基于一个bucket的,仅对bucket内的数据进行处理。一个server上 可以有多个Bucket,每个Bucket的存储类型、内容占用、数据复制数量等,都需要分别指定。从这个意义上看,每个Bucket都相当于一个独立的 实例。在集群状态下,我们需要对server进行集群设置,Bucket只侧重数据的保管。

    创建Bucket,需要指明驱动类型: Memcached顾名思义,纯内存,无复制集等功能;Couchbase型是带有持久存储,可以有复制集。

    关于复制集,可以设置:禁止复制集、复制集数量(如果设为2,数据将在两个节点上保存,任何一个节点损坏数据仍然存在),是否对索引也进行复制。Flush,是指是否支持清空全部数据的操作。

    建议是使用Couchbase类型,设定好内存使用量,其他按默认。关于内存设定,尽量不要将Server上的内存全部分配出去,留一些空闲,对新建Bucket进行测试就很方便。当然,Bucket占用的内存数,在建立后也是可以动态调整的。

    后面按照提示进行,设置完管理员密码,服务就可以使用了。在首页的管理界面,可以看到运行的概况:

     

    在ServerNodes帧中,可以查看服务器集群情况;在View中,可以管理各个Bucket中的View,在DataBuckets中,对Buckets进行管理。比如调整内存占用:

    只有一个服务器节点,replica是没有意义的,我们来搭建第二个服务器节点。安装过程类似,这里选择加入集群,填写IP和密码:

    点击下一步,经过验证就可以加入集群了。集群中任何一台服务器,地位是对等的,用浏览器连接上去都可以进行管理。

    可以看到,新加入的服务器处于 Pending 状态,意味着数据尚未进行同步。只有数据进行同步之后,这个节点才能提供服务。点击Rebalance按钮,进行数据同步。还有进度条显示,真的很体贴。

  • 相关阅读:
    Linux下sed,awk,grep,cut,find学习笔记
    Python文件处理(1)
    KMP详解
    Java引用详解
    解决安卓中页脚被输入法顶起的问题
    解决swfupload上传控件文件名中文乱码问题 三种方法 flash及最新版本11.8.800.168
    null id in entry (don't flush the Session after an exception occurs)
    HQL中的Like查询需要注意的地方
    spring mvc controller间跳转 重定向 传参
    node to traverse cannot be null!
  • 原文地址:https://www.cnblogs.com/huojg-21442/p/7090259.html
Copyright © 2011-2022 走看看