2. CouchBase集群安装和配置(01)-CouchBase从0到50

Posted mydeepthink

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2. CouchBase集群安装和配置(01)-CouchBase从0到50相关的知识,希望对你有一定的参考价值。

最好的学习方法就是直接上手,下面我们使用vmware虚拟机搭建一个3节点的CouchBase集群。

1.系统要求

CouchBase对安装环境有一定的要求,包括硬件,平台和浏览器之类的。具体如下:

要求明细备注
操作系统CentOS
Certified 6.7, 6.9; Supported 6.x
1.本系列使用CentOs6.7 64位
2.Certified是指官方实际跑过测试的,Supported 是指虽然官方没跑过测试但是基本问题不会太大的
3.详细的官方支持列表:https://docs.couchbase.com/server/6.0/install/install-platforms.html
硬件需求线上最小2core,4g mem,不支持nfs/cifs之类的网络文件系统1.最小配置并非是说再小就无法运行,实际测试环境中,cpu和内存可以调整更小
2.实际上线前应该按照具体的负载搭配配置,具体的负载计算方式:
https://docs.couchbase.com/server/6.0/install/sizing-general.html
所安装服务依赖安装Analytics Service服务时需要安装Oracle JRE 8.181之后
防火墙配置要留意开放所使用的端口号详细端口:https://docs.couchbase.com/server/6.0/install/install-ports.html

我们最终采用了1CPU,2GB内存和30G硬盘的虚拟机规模进行测试。

2.部署指引

在部署时需要安装下面的指引进行检查

项目明细备注
容量规划在上线前应该就容量进行精确的规划,以及需要哪些服务,这些服务在节点上是怎么分布的https://docs.couchbase.com/server/6.0/install/sizing-general.html
时间同步有ntp和chrony之类的时间同步
关闭Transparent Huge Pages关闭透明大页https://www.cnblogs.com/kerrycode/p/7760026.html
设置swappiness内核参数设置内核参数让系统不用swap或者尽可能的少用,设置为0或者1
客户端部署规划客户端通过何种方式连接到集群
安全开启3A认证
节点数目线上节点数一定要>=3,测试环境下节点数<3会导致一些功能降级https://docs.couchbase.com/server/6.0/install/deployment-considerations-lt-3nodes.html

2.1 设置时间同步

这里不赘述,使用ntp或者chrony进行时间同步都可以。

2.2 透明大页配置

检查透明大页的开启情况

cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag

显示结果为[always] madvise never,即结果是always的证明是开启的。
编辑init脚本, vi /etc/init.d/disable-thp

#!/bin/bash
### BEGIN INIT INFO
# Provides: disable-thp
# Required-Start: $local_fs
# Required-Stop:
# X-Start-Before: couchbase-server
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Disable THP
# Description: disables Transparent Huge Pages (THP) on boot
### END INIT INFO

case $1 in
start)
  if [ -d /sys/kernel/mm/transparent_hugepage ]; then
    echo ‘never‘ > /sys/kernel/mm/transparent_hugepage/enabled
    echo ‘never‘ > /sys/kernel/mm/transparent_hugepage/defrag
  elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
    echo ‘never‘ > /sys/kernel/mm/redhat_transparent_hugepage/enabled
    echo ‘never‘ > /sys/kernel/mm/redhat_transparent_hugepage/defrag
  else
    return 0
  fi
;;
esac

授予disable-thp脚本可执行权限

chmod 755 /etc/init.d/disable-thp

启动脚本生效

service disable-thp start

配置开启自启动

chkconfig disable-thp on

检查透明大页的情况

cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag

如下显示nevel的话则证明已经关闭

always madvise [never]

3.3 配置swappiness

linux 内核的swappiness 控制了系统使用swap的概率,范围为0-100,大部分的linux发行版默认是60,数值越大,越有可能使用到swap。
对于couchbase server,需要配置swappiness为0或者1,降低内核使用swap的几率。
couchbase server对于内存有着良好的管理,如果允许内核使用swap的话,反而可能会降低couchbase server的效率。
查看当前swappiness的配置
cat /proc/sys/vm/swappiness
修改为0

echo "vm.swappiness = 0" >> /etc/sysctl.conf
sysctl -p

3.安装配置

首先获取下载安装包,当然可以填写一长串的下载表单,最终获取企业版的下载连接,也可以直接从yum源中提取特定版本的rpm包
rpm -ivh http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-5-x86_64.rpm
获取下载包到tmp目录
yum install --downloadonly --downloaddir=/tmp couchbase-server
获取下面rpm文件
couchbase-server-enterprise-6.0.0-centos6.x86_64.rpm
安装pkgconfig和openssl
yum install -y pkgconfig openssl
3台节点,逐个进行安装
rpm -ivh couchbase-server-enterprise-6.0.0-centos6.x86_64.rpm
安装完毕后提示下面消息

    Minimum RAM required : 4 GB
    System RAM configured : 8174464 kilobytes
    Minimum number of processors required : 4 cores
    Number of processors on the system : 4 cores


    Starting couchbase-server[ OK ]

    You have successfully installed Couchbase Server.
    Browse to http://host_name:8091/ to configure your server.
    Refer to http://couchbase.com for additional resources.

    Update your firewall configuration
    to allow connections to the following ports:

    11211, 11210, 11209, 4369, 8091, 8092 and from 21100 to 21299.


    By using this software you agree to the End User License Agreement.
    See /opt/couchbase/LICENSE.txt.


























以上是关于2. CouchBase集群安装和配置(01)-CouchBase从0到50的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有嵌入式服务器或新集群的情况下模拟 couchbase 进行验收测试?

具有 cbq 和 cbimport 命令组合的 Couchbase 脚本不起作用

couchbase集群文档不复制但分裂

Couchbase 集群中较慢的插入性能

客户端上的 Couchbase 集群更新可见性

服务如何分布在集群内的 couchbase 服务器中?