暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AntDB-S安装部署(1):安装前准备与用户配置

关耳 2023-09-19
264

1.安装前准备

本章节介绍安装AntDB-S前需要整备的硬件设备和操作系统。

1.1操作系统

本章节介绍AntDB兼容的常见操作系统版本。

操作系统版本

说明

Red Hat Enterprise Linux

7.5及以上

CentOS

7.5及以上

Ubuntu

16.04 及以上

1.2硬件环境

本章节介绍安装AntDB需要的硬件配置。

基础环境

配置内容

CPU

建议不小于 16 核

物理内存

大于 32G

硬盘剩余空间

根据实际业务需求 ,冗余 10%

1.3安装文件

请联系AntDB-S研发人员获取安装包。

2.Linux环境配置

本章节介绍安装AntDB-S前需要对Linux系统所做的配置,包括用户创建,依赖安装以及系统参数调整。

2.1用户配置

2.1.1新建用户

在需要安装AntDB-S的所有主机上新建一个普通的用户,如antdbs(或者使用已有的普通用户)。 新建用户参考例子:

useradd -d /data/antdbs antdbs
passwd antdbs

2.1.2配置用户limit参数

编辑/etc/security/limits.conf 文件,配置antdbs用户参数:

antdbs soft nproc 65536
antdbs hard nproc 65536
antdbs soft nofile 278528
antdbs hard nofile 278528
antdbs soft stack unlimited
antdbs soft core unlimited
antdbs hard core unlimited
antdbs soft memlock 250000000
antdbs hard memlock 250000000

保存文件后,执行su - antdbs切换到antdbs用户,执行ulimit -a 检查是否生效。

2.1.3配置用户sudo权限

在安全允许的条件下,建议给antdbs用户加上sudo权限。 root用户执行visudo 进行编辑界面,找到 Allow root to run any commands anywhere所在行,在行下面添加:

antdbs ALL=(ALL) ALL

保存文件退出。su - antdbs 切换到antdbs用户,执行sudo id,预期会提示输入用户密码,输出为:

uid=0(root) gid=0(root) groups=0(root)

表示sudo权限添加成功。

2.2依赖包安装

如果是离线环境,建议在主机上通过操作系统的镜像文件搭建本地yum源,方便依赖的安装。 在cento或者redhat操作系统下,执行如下命令安装依赖:

sudo yum install -y perl-ExtUtils-Embed
sudo yum install -y flex
sudo yum install -y bison
sudo yum install -y readline-devel
sudo yum install -y zlib-devel
sudo yum install -y openssl-devel
sudo yum install -y pam-devel
sudo yum install -y libxml2-devel
sudo yum install -y libxslt-devel
sudo yum install -y openldap-devel
sudo yum install -y python-devel
sudo yum install -y gcc-c++

其他操作系统请更换安装命令即可,依赖包名称不变。 部分依赖源中没有提供 libssh2 的包,可以通过源码编译安装:

wget https://www.libssh2.org/download/libssh2-1.9.0.tar.gz
tar xzvf libssh2-1.9.0.tar.gz
cd libssh2-1.9.0
./configure
make
make install

2.3系统参数调整

2.3.1关闭防火墙

以centos 7操作系统为例:

  1. 关闭防火墙服务;

systemctl stop firewalld.service

  1. 关闭防火墙自启动服务;

systemctl disable firewalld.service

  1. 检查防火墙状态;

systemctl status firewalld.service

2.3.2关闭numa和tuned

以redhat/centos 7系统为例:

  1. 关闭numa;

grubby --update-kernel=ALL --args="numa=off " # 该命令修改的是这个文件:

/etc/grub2.cfg
grub2-mkconfig

  1. 关闭tuned服务;

systemctl stop tuned
systemctl disable tuned

  1. 这种方式修改后,重启主机生效;

reboot

  1. 重启后,验证grub的cmdline;

cat /proc/cmdline

  1. 检查 numa

numactl --hardware

预期结果为: available: 1 nodes (0)

2.3.3关闭透明大页

透明大页(即 Transparent Huge Pages,缩写为 THP)的使用可能会引起性能问题,因此建议关闭。

  1. 检查透明大页的开启状态;

cat /sys/kernel/mm/transparent_hugepage/enabled

如果结果是[always] madvise never,则透明大页是开启状态,需要关闭; 如果结果是always madvise [never],则透明大页是关闭状态,跳过此步骤;

  1. 关闭透明大页;

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag检查透明大页开启状态

  1. 再次检查透明大页开启情况;

cat /sys/kernel/mm/transparent_hugepage/enabled

2.3.4配置sysctl.conf

  1. 修改sysctl.conf文件;

cat >> /etc/sysctl.conf << EOF
# add for antdb
kernel.shmmax=137438953472 137438953472
kernel.shmall=53689091
kernel.shmmni=4096
kernel.msgmnb=4203520
kernel.msgmax=65536
kernel.msgmni=32768
kernel.sem=501000 641280000 501000 12800

fs.aio-max-nr=6553600
fs.file-max=26289810
net.core.rmem_default=8388608
net.core.rmem_max=16777216
net.core.wmem_default=8388608
net.core.wmem_max=16777216
net.core.netdev_max_backlog=262144
net.core.somaxconn= 65535
net.ipv4.tcp_rmem=8192 87380 16777216
net.ipv4.tcp_wmem=8192 65536 16777216
net.ipv4.tcp_max_syn_backlog=262144
net.ipv4.tcp_keepalive_time=180
net.ipv4.tcp_keepalive_intvl=10
net.ipv4.tcp_keepalive_probes=3
net.ipv4.tcp_fin_timeout=1
net.ipv4.tcp_synack_retries=1
net.ipv4.tcp_syn_retries=1
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_max_tw_buckets=256000
net.ipv4.tcp_retries1=2
net.ipv4.tcp_retries2=3
vm.dirty_background_ratio=5
vm.dirty_expire_centisecs=6000
vm.dirty_writeback_centisecs=500
vm.dirty_ratio=20
vm.overcommit_memory=0
vm.overcommit_ratio= 120
vm.vfs_cache_pressure = 100
vm.swappiness=10
vm.drop_caches = 2
vm.min_free_kbytes = 2048000
vm.zone_reclaim_mode=0
kernel.core_uses_pid=1
kernel.core_pattern= /data/antdb/core/core-%e-%p-%s-%t
fs.suid_dumpable=1
kernel.sysrq=0
EOF

kernel.core_pattern的路径需要根据实际环境信息进行修改。

  1. 执行下面的命令让上述参数生效;

sysctl -p

关于AntDB数据库

AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论