• Linux下Couchbase的安装&升级&维护最佳指南


    Couchbase是一个强大的、可靠的NoSql数据库.
    Couchbase是CouchDB和MemBase的合并。而MemBase是基于Memcached的。因此Couchbase联合了CouchDB的简单可靠和Memcached的高性能和可扩展性.

    [X] 安装

    [1] 设置/etc/selinux/config文件中的SELINUX=""disabled

    [2] vi/etc/modprobe.d/blacklist.conf

    blacklist ipv6
    
    • 1
    setenforce 0
    swapoff -a
    chkconfig ip6tables off
    chkconfig iptables off
    service ip6tables stop
    service iptables stop
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    [3] vi/etc/rc.d/rc.local

    #wjw_add
    su root -lc 'swapoff -a'
    
    • 1
    • 2

    [4] vi /etc/sysctl.conf

    #wjw_add
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    kernel.pid_max = 65536
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    
    net.core.rmem_default = 16777216
    net.core.rmem_max = 16777216
    net.core.wmem_default = 16777216
    net.core.wmem_max = 16777216
    
    net.core.somaxconn = 262144
    net.ipv4.tcp_no_metrics_save = 1
    net.core.netdev_max_backlog = 262144
    
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_wmem = 4096 16384 16777216
    net.ipv4.tcp_mem = 94500000 915000000 927000000
    net.ipv4.tcp_congestion_control=cubic
    net.ipv4.ip_local_port_range = 1024 65000
    net.ipv4.tcp_timestamps = 0
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_syn_retries = 1
    net.ipv4.tcp_synack_retries = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_retries2 = 5
    net.ipv4.tcp_fin_timeout = 1
    net.ipv4.tcp_keepalive_time = 30
    net.ipv4.tcp_max_tw_buckets = 6000
    net.ipv4.tcp_keepalive_intvl = 30
    net.ipv4.tcp_keepalive_probes = 3
    net.ipv4.tcp_max_syn_backlog = 262144
    net.ipv4.tcp_max_orphans = 262144
    net.ipv4.conf.lo.arp_ignore = 0
    net.ipv4.conf.lo.arp_announce = 0
    net.ipv4.conf.all.arp_ignore = 0
    net.ipv4.conf.all.arp_announce = 0
    
    net.nf_conntrack_max = 655360
    net.netfilter.nf_conntrack_tcp_timeout_established = 180
    
    net.core.rmem_max=16777216
    net.core.wmem_max=16777216
    net.ipv4.tcp_rmem=4096 87380 16777216
    net.ipv4.tcp_wmem=4096 16384 16777216
    net.ipv4.tcp_congestion_control=cubic
    
    net.ipv6.conf.all.disable_ipv6=1
    vm.swappiness=0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    [5] 执行:sysctl -p

    [6] vi/etc/security/limits.conf

    *               soft    nproc   655350
    *               hard    nproc   655350
    *               soft    nofile  655350
    *               hard    nofile  655350
    
    • 1
    • 2
    • 3
    • 4

    [7] vi/etc/pam.d/login

    session    required     /lib64/security/pam_limits.so
    
    • 1

    [8] 刷新缓存

    swapoff -a
    sync
    echo 3 > /proc/sys/vm/drop_caches
    
    • 1
    • 2
    • 3

    [9] rpm couchbase

    scp admin@192.168.2.113:/opt/install/couchbase-server-enterprise-3.0.2-centos6.x86_64.rpm /opt/
    rpm -ivh /opt/couchbase-server-enterprise-3.0.2-centos6.x86_64.rpm
    
    • 1
    • 2

    [X] 升级

    [X] 通过SWAP的在线升级:

    1. 添加SWAP节点到集群,然后做Rebalance!
    2. 通过Fail Over方式拿掉要升级的节点,然后做Rebalance!
    3. 执行:service couchbase-server stop

    service couchbase-server stop不能停止时:
    要使用:killall epmdkillall beam.smp后再用ps -ef | grep -i 'couchbase' | grep -v grep查看是否还有/opt/couchbase目录下的进程,如果有就kill掉!

    1. rpm -ev $(rpm -qa | grep -i ‘couchbase’)
    2. rm -rf /opt/couchbase/*
    3. rpm -ivh ./couchbase-server-enterprise_2.5.1_x86_64.rpm

    [X] 没有SWAP的快速在线升级:

    1. 关掉:Auto-Failover
    2. service couchbase-server stop
    3. rpm -Uvh /opt/couchbase-server-enterprise-3.0.2-centos6.x86_64.rpm

    附录:

    [X] 当出现:runuser: command not found错误信息时,安装yum install coreutils!

    [X] 当service couchbase-server stop不能停止时:

    要使用:`killall epmd`和`killall beam.smp`后再用`ps -ef  | grep -i 'couchbase' | grep -v grep`查看是否还有/opt/couchbase目录下的进程,如果有就kill掉!
    
    • 1

    [X] Couchbase相关指令

    service couchbase-server stop
    ps -ef  | grep -i 'couchbase' | grep -v grep
    rpm -qa | grep -i 'couchbase'
    
    • 1
    • 2
    • 3

    [X] 疑难问答

    1. How do I change the per-node RAM quota?

    /opt/couchbase/bin/couchbase-cli cluster-init -c 192.168.1.41:8091 -u admin -p youyuan --cluster-init-ramsize=110000

    1. bucket-compact

    /opt/couchbase/bin/couchbase-cli bucket-compact -c 192.168.1.71:8091 -u admin -p youyuan --bucket=default

    1. setting-compaction

    /opt/couchbase/bin/couchbase-cli setting-compaction -c 192.168.1.71:8091 -u admin -p youyuan --compaction-period-from= --compaction-period-to=

    1. bucket-edit

    /opt/couchbase/bin/couchbase-cli bucket-edit -c 192.168.1.71:8091 -u admin -p youyuan --bucket=default --compaction-period-from= --compaction-period-to=

    1. 备份

    /opt/couchbase/bin/cbbackup -u admin -p youyuan -b conf http://${host}:8091 /opt/backups-couchbase/backup-conf
    例如(备份指定的Bucket): /opt/couchbase/bin/cbbackup -u admin -p youyuan -b conf http://localhost:8091 /opt/backups-couchbase/backup-conf-20140415

    1. 恢复

    /opt/couchbase/bin/cbrestore -u admin -p youyuan -b conf /opt/backups-couchbase/backup-conf http://${host}:8091

    [X] 当集群出现大规模问题时,紧急处理步骤:

    不要使用service couchbase-server stop,要使用:killall epmdkillall beam.smp后再用ps -ef | grep -i 'couchbase' | grep -v grep查看是否还有/opt/couchbase目录下的进程,如果有就kill掉!

  • 相关阅读:
    栈和队列的基本使用
    ps制作花朵形状
    双目深度算法——双目深度算法总结
    【MindSpore】【自定义数据集】GeneratorDataset 可迭代,但是model.train跑不动
    计算机毕业设计ssm软件公司的OA系统21k5b系统+程序+源码+lw+远程部署
    RT-thread lts-v3.1.x版本,GD32F450以太网,上电之后有一定概率ping不通问题处理。
    HALCON 2D高精密测量项目全流程解析
    精简docker的导出镜像
    利用Docker快速安装Jenkins
    Mathorcup数学建模竞赛第四届-【妈妈杯】B题:书籍推荐(附解析思路)
  • 原文地址:https://blog.csdn.net/wjw465150/article/details/126904140