欢迎,来自IP地址为:35.153.39.7 的朋友



Couchbase,  也就是常说的 Membase,是一款开源、分布式基于文件的 NoSQL 数据库管理系统。Couchbase 对于交互式应用做了特殊优化,这些应用需要对数据进行大量的创建、存储、检索、汇总、处理和展现工作。为了满足以上需求,Couchbase 旨在提供易于扩展的键值或 JSON 文档访问,被设计成可以满足单独主机到多台主机的越大规模部署的多种应用场景。

一种被称为 non-first normal form query language (N1QL,读作 nickel )的语言,被用于处理 Couchbase 数据库中的 JSON 数据,就像 SQL 语言处理关系型数据库中的数据一样。N1QL 使用与 SQL 类似的 SELECT、 INSERT、 UPDATE、 DELETE 以及 MERGE 表达式来操作 JSON 数据。

实验环境

  • 操作系统:CentOS 8.2
  • 内存:4GB
  • 主机名:couchbase
  • IP 地址:172.16.200.1

更新 CentOS 8 软件包

在安装新的应用软件之前,进行 CentOS 系统的更新是一个好习惯:

# dnf update -y

禁用 CentOS 8 系统 Transparent HugePages 功能

Transparent HugePages (透明大页)功能在 CentOS 8 系统里是默认启用的,这对于 Couchbase 性能存在影响,在安装 Couchbase 之前,需要禁用该功能。

首先使用如下命令察看 Transparent HugePages 启用状态:

# dnf update -y

此时,透明大页的启用状态是”always”,则需要禁用该功能。

禁用透明大页功能,需要修改 grub 启动菜单,添加禁用透明大页选项。

编辑默认启动配置文件”/etc/default/grub”,定位到”GRUB_CMDLINE_LINUX”,在末尾增加”transparent_hugepage=never”内容,配置文件配置项如下所示:

GRUB_CMDLINE_LINUX="resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet transparent_hugepage=never"

修改完成后,使用如下命令重新生成一次启动配置文件,并重新启动主机让设置生效:

# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot

重新启动系统后,再使用之前的命令查看透明大页状态,变成如下所示的[never]状态,就表示系统已经禁用了透明大页功能:

停用 tuned 服务

虽然我们已经禁用了透明大页功能,但是 Linux 系统的 tuned 调优服务会自动启用该功能,于是我们需要编辑调优服务在配置文件,禁用透明大页调优。

首先创建调优服务的配置目录及配置文件:

# mkdir /etc/tuned/no-thp
# touch /etc/tuned/no-thp/tuned.conf

编辑配置文件”tuned.conf”内容如下:

[main]
include=virtual-guest

[vm]
transparent_hugepages=never

最后,使用如下命令,启用该配置文件:

# tuned-adm profile no-thp

CentOS 8 更改 Swappiness 参数

Swappiness 的值的大小对如何使用 swap 分区是有着很大的联系的,swappiness=0 的时候,表示最大限度使用物理内存,然后才是swap空间;swappiness=100 的时候表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到swap空间里面。

Couchbase Server 已经对其托管缓存进行了优化,以使用 RAM,并且能够管理 RAM 中应包含的内容以及不应包含的内容。允许操作系统对 RAM 中的内存页进行过多控制可能会降低 Couchbase Server 的性能。因此,建议将  Swappiness 设置为0。

查看系统当前的交换空间活跃度值:

# cat /proc/sys/vm/swappiness

一般情况下,交换活跃度会显示系统的默认值60,使用如下命令即可将交换活跃度设置为0并且永久有效:

# sysctl -w vm.swappiness=0
# echo 'vm.swappiness=0' >> /etc/sysctl.d/99-swappiness.conf

全部准备工作完成后,即可进行 Couchbase 的安装。

CentOS 8 系统安装 Couchbase 官方软件库

Couchbase 提供了官方的 yum 软件库,首先使用如下命令进行安装:

# dnf install -y https://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-x86_64.rpm

安装成功后,即可重新缓存软件库:

# dnf makecache

CentOS 8 系统安装 Couchbase 服务器

Couchbase 软件库添加成功后,CentOS 8 系统就可以很方便的使用 dnf 命令安装 Couchbase 服务器:

# dnf install -y couchbase-server

设置 Couchbase 用户的进程/文件描述符限制

系统默认的进程/文件描述符限制对于 couchbase 来说显然不够用,需要修改这些限制。

创建目录”/etc/security/limits.d”,在该目录添加一个配置文件”couchbase.conf”,文件内容如下,用于给 Couchbase 服务器安装时创建的 couchbase 用户提高限制值:

couchbase      soft    nproc           10000
couchbase      hard    nproc           10000
couchbase      soft    nofile          70000
couchbase      hard    nofile          70000

配置防火墙

Couchbase 会使用如下网络端口:

  • 8091/18091 – 集群管理控制台 (HTTP/HTTPS)
  • 8092/18092 – 查看接入 (HTTP/HTTPS)
  • 8093/18093 – 查询服务 (HTTP/HTTPS)
  • 8094/18094 – 搜索服务 (HTTP/HTTPS)
  • 8095/18095 – 分析服务 (HTTP/HTTPS)
  • 8096/18096 – 事件服务 (HTTP/HTTPS)
  • 9140 – 事件服务调试端口
  • 11210,11211,11207 – 数据 Service

于是,需要使用如下命令在 CentOS 8 系统放行相应端口:

# firewall-cmd --permanent --add-port={8091-8096,9140,11210,11211,11207,18091-18096}/tcp
# firewall-cmd --reload

CentOS 8 配置 Couchbase 服务器

Couchbase 安装完成后,系统会自动启用 Couchbase 服务,也可以使用如下命令查看服务是否成功启动:

# systemctl status couchbase-server

显示服务启动成功后,就可以通过浏览器访问网址”http://YOUR_COUCHBASE_IP:8091″,这里的”YOUR_COUCHBASE_IP”表示 Couchbase 服务器的 IP 地址,示例为”172.16.200.1″,就会见到如下页面:

由于我们第一次访问 Couchbase 服务器控制台,会被要求配置该 Couchbase 节点或者将本节点加入现有 Couchbase 集群。新加节点时,点击”Setup New Cluster”继续:

输入集群名、管理用户名以及密码后,点击”Next: Accept Terms”继续:

钩选”I accept the terms & conditions”,根据需要选择是否分享信息后,点击”Configure Disk, Memory, Service”继续:

根据需要修改服务器的配置项,当然,如果现在不做修改,将来同样可以进行配置,最后点击”Save & Finish”完后 Couchbase 设置:

此时,就登录到 Couchbase 的控制台页面。因为是新服务,没有任何数据,可以根据页面提示,点击”Sample Buckets”链接,就可以选择载入示例数据:

钩选示例数据,例如”gamesime-sample”,然后点击”Load Sample Data”,再次返回控制台”Dashboard”,就会见到如下页面:

现在,我们就可见到一些图形化的示例数据了。

至此,CentOS 8 系统安装 Couchbase 数据库服务器就全部完成。至于 Couchbase 的使用,可以参阅相关教程。

发表评论

电子邮件地址不会被公开。 必填项已用*标注