在 CentOS/RHEL 8 中更改 Swappiness

Linux 内核的 swappiness 设置定义了它交换内存页面与从页面缓存中删除页面的积极程度。

较高的值会增加交换的积极性,而较低的值会告诉 Linux 内核尽可能少地交换磁盘并支持 内存。

swappiness 的范围是从 0 到 100,大多数 Linux 发行版默认将 swappiness 设置为 60。

Couchbase 数据库服务器通过其托管缓存进行了优化以使用 内存,并且能够管理应该在 内存 中和不应该在 内存 中的内容。
允许 Linux 操作系统过多地控制 内存 中的内存页面可能会降低 NoSQL 数据库性能。
因此,建议将 swappiness 设置为 0。

检查 swappiness 的当前设置。

# cat /proc/sys/vm/swappiness
60

将正在运行的系统的 swappiness 设置设置为 0。

# sysctl -w vm.swappiness=0
vm.swappiness = 0

再次验证 swappiness 的当前设置。

# cat /proc/sys/vm/swappiness
0

为了使 swappiness 设置持久化,我们必须将它添加到内核参数文件中。

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

设置进程和文件描述符限制

默认进程和文件描述符限制对于 couchbase 用户来说是不够的。
因此,我们必须明确增加这些限制。

使用 vim 文本编辑器在 /etc/security/limits.d 目录中创建一个配置文件。

# vi /etc/security/limits.d/couchbase.conf

并其中添加以下设置。

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

安装 Couchbase 官方存储库

Couchbase 软件是通过他们的官方 yum 存储库提供的。

因此,我们需要先在 Linux 操作系统上安装 Couchbase yum 存储库。

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

为新安装的 yum 存储库构建缓存。

# dnf makecache
CentOS-8 - AppStream                            7.3 kB/s | 4.3 kB     00:00
CentOS-8 - Base                                 6.2 kB/s | 3.9 kB     00:00
CentOS-8 - Extras                               3.7 kB/s | 1.5 kB     00:00
Couchbase Server                                 52 kB/s | 119 kB     00:02
Couchbase Server (Community Edition)             29 kB/s | 106 kB     00:03
Couchbase SDK package repository                8.2 kB/s | 6.7 kB     00:00
Metadata cache created.
on it road .com

在 CentOS/RHEL 8 上安装 Couchbase 服务器

我们已经添加了所需的 yum 存储库,因此,我们现在可以使用 dnf 命令轻松地在 Linux 服务器上安装 Couchbase 软件。

# dnf install -y couchbase-server

NoSQL 数据库服务器已成功安装。

在 CentOS/RHEL 8 上安装 Couchbase 服务器

Couchbase 是一个 NoSQL 面向文档的数据库管理系统。
在本教程中,我们将学习如何在 CentOS/RHEL 8 上安装 Couchbase Server。

配置 Linux 防火墙

Couchbase 数据库使用以下服务端口。

  • 8091/18091 - 集群管理控制台 (HTTP/HTTPS)
  • 8092/18092 - 视图和 XDCR 访问 (HTTP/HTTPS)
  • 8093/18093 - 查询服务 (HTTP/HTTPS)
  • 8094/18094 - 搜索服务 (HTTP/HTTPS)
  • 8095/18095 - 分析服务 (HTTP/HTTPS)
  • 8096/18096 - 事件服务 (HTTP/HTTPS)
  • 9140 - 事件服务调试器
  • 11210,11211,11207 - 数据服务

因此,我们需要允许传入流量进入这些端口,以便通过网络访问它们。

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

在 CentOS/RHEL 8 中禁用透明 HugePages:

CentOS/RHEL 8 中默认启用透明 HugePages。
但它会损害 Couchbase 数据库的性能。

因此,需要在安装NoSQL数据库服务器之前,在Linux操作系统上禁用Transparent HugePages。

检查透明 HugePages 的当前状态。

# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

正如预期的那样,我们的 Linux 操作系统中已经启用了 Transparent HugePages。

要禁用 Transparent HugePages,我们必须编辑 GRUB 启动菜单。

为此,请在 vim 文本编辑器中编辑 GRUB 配置文件。

# vi /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"

根据自定义的配置文件生成新的 GRUB 引导菜单。

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done

重新启动 Linux 操作系统以应用新设置。

# systemctl reboot

重启后,再次检查HugePages的状态。

# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

我们已在 Linux 操作系统上禁用透明大页面。
但是我们还需要配置调整后的服务。

Tuned 服务用于在 Linux 系统中进行监控和调优。
调整服务可用于禁用或者启用透明大页面。

因此,我们需要为优化服务创建一个配置文件并禁用该配置文件中的透明大页面。

为新调整的配置文件创建一个目录。

# mkdir /etc/tuned/no-thp

创建一个调整好的配置文件。

# vi /etc/tuned/no-thp/tuned.conf

在该文件中添加以下几行。

[main]
include=virtual-guest
[vm]
transparent_hugepages=never

使用以下命令启用 no-thp 配置文件。

# tuned-adm profile no-thp

配置 Couchbase 服务器

在 Web 浏览器中打开 URL http://couchbase-01.onitroad.com:8091.

由于我们是第一次访问 Couchbase Web 控制台,因此系统会要求我们设置此集群节点。

如果我们已经在运行 Couchbase 集群,那么我们可以将此节点添加到现有集群中。

因为我们没有任何 Couchbase 集群,因此,我们必须创建一个新集群。

单击“设置新集群”。

提供信息以创建新集群,然后单击“下一步:接受条款”。

阅读并接受许可协议,然后单击“配置磁盘、内存、服务”。

根据要求在此处更改设置。
别担心,我们也可以稍后从 Web 界面更改这些设置。

单击“保存并完成”。

我们将被重定向到仪表板。
它目前是空的,因为还没有创建任何存储桶。

单击“设置 > 示例存储桶”。

选择一个示例并单击“加载示例数据”。

再次返回仪表板。

现在,我们可以看到一些基于示例数据的图表。

日期:2020-09-17 00:11:34 来源:oir作者:oir