antDB部署模式
--集中式单机部署(简要流程)
--集中式主备部署(一主两备)
--分布式部署 (简要流程)
环境准备
1. 关闭numa和透明大页
grubby --update-kernel=ALL --args="numa=off transparent_hugepage=never"grub2-mkconfig
systemctl stop tuned
systemctl disable tuned
# 重启后,验证grub的cmdline:
# 在输出的行里面有这个内容: numa=off transparent_hugepage=never 即为正确
cat /proc/cmdline
# 检查 numa
numactl --hardware
# 预期结果为:
available: 1 nodes (0)
2. 关闭selinux
cp /etc/selinux/config /etc/selinux/config_`date +"%Y%m%d_%H%M%S"`&& sed -i 's/SELINUX\=enforcing/SELINUX\=disabled/g' /etc/selinux/config3. 关闭防火墙
systemctl stop firewalld.servicesystemctl disable firewalld.service
4. 创建用户,创建路径
useradd -d /data/antdb -m antdb
passwd antdb
enmo#2024
su - antdb
mkdir -p /data/antdb/app/antdb
mkdir -p /data/antdb/data_ha
mkdir -p /data/antdb/etcd
visudo
添加antdb用户
antdb ALL=(ALL) NOPASSWD: ALL
5. 配置互信(主备之间,跳板机到集群之间)
# 切换到antdb用户
su - antdb
# 生成公钥和密钥
# 执行下面的命令,按三次回车
ssh-keygen -t rsa
# 用ssh-copy-id 把公钥复制到远程主机上
# 目标ip换成其他主机的ip,
ssh-copy-id -p $sshport -i .ssh/id_rsa.pub antdb@目标ip
----主备之间
ssh-copy-id -i .ssh/id_rsa.pub antdb@10.xxx.xxx.7
ssh-copy-id -i .ssh/id_rsa.pub antdb@10.xxx.xxx.9
ssh-copy-id -i .ssh/id_rsa.pub antdb@10.xxx.xxx.6
ssh-copy-id -i .ssh/id_rsa.pub antdb@10.xxx.xxx.9
ssh-copy-id -i .ssh/id_rsa.pub antdb@10.xxx.xxx.6
ssh-copy-id -i .ssh/id_rsa.pub antdb@10.xxx.xxx.7
----跳板机到集群之间
ssh-copy-id -i .ssh/id_rsa.pub antdb@10.xxx.xxx.6
ssh-copy-id -i .ssh/id_rsa.pub antdb@10.xxx.xxx.7
ssh-copy-id -i .ssh/id_rsa.pub antdb@10.xxx.xxx.9
# 循环在每个节点执行上面的步骤,让每个节点之间互信
# 验证互信是否生效,如果不需要密码即可远程登录,就表示已经生效
ssh -p $sshport 目标ip
6. 修改antdb用户的limit限制
cat >> /etc/security/limits.conf << EOF# add for antdb
antdb soft nproc 65536
antdb hard nproc 65536
antdb soft nofile 278528
antdb hard nofile 278528
antdb soft stack unlimited
antdb soft core unlimited
antdb hard core unlimited
antdb soft memlock 250000000
antdb hard memlock 250000000
EOF
7. 修改OS内核参数
cat >> /etc/sysctl.conf << EOF##add for antdb
kernel.shmmax = 408021893120 --内存一半
kernel.shmmni = 4096 --默认
kernel.shmall =99614720 --shmmax/1024/4 即页面数
kernel.pid_max= 1000000
kernel.msgmnb= 4203520
kernel.msgmax=65536
kernel.msgmni=32768
kernel.sem=501000 2147483647 2147483646 512000
fs.aio-max-nr= 6553600
fs.file-max= 79000000
net.ipv4.ip_local_port_range= 9000 65000
net.ipv4.tcp_window_scaling= 1
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 56623104
net.ipv4.tcp_wmem= 8192 65536 56623104
net.ipv4.tcp_max_syn_backlog= 3240000
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_reuse= 1
net.ipv4.tcp_max_tw_buckets= 1440000
vm.dirty_background_ratio= 10
vm.dirty_expire_centisecs= 6000
vm.dirty_writeback_centisecs= 500
vm.dirty_ratio= 10
vm.overcommit_memory= 0
vm.overcommit_ratio= 90
vm.swappiness= 0
vm.min_free_kbytes= 2048000 --系统保留内存最低限度,根据系统总内存大小设置,一般每32G分配1G,小于32G默认操作系统配置即可(753g内存参考值 24674304)
vm.drop_caches= 3
vm.vfs_cache_pressure= 200
vm.zone_reclaim_mode= 0
vm.panic_on_oom=1
kernel.panic_on_oops=1
kernel.core_uses_pid = 1
kernel.core_pattern=/data/antdb/core-%e-%p-%s-%t
kernel.numa_balancing = 0
fs.inotify.max_user_watches=524288
fs.suid_dumpable=1
kernel.sysrq=0
EOF
sysctl -p
8. 修改*-nproc.conf文件
vi /etc/security/limits.d/*-nproc.conf所有用户都设为unlimited
* soft nproc unlimited
root soft nproc unlimited
9. 安装依赖
yum install -y perl-ExtUtils-Embedyum install -y flex
yum install -y bison
yum install -y readline-devel
yum install -y zlib-devel
yum install -y openssl-devel
yum install -y pam-devel
yum install -y libxml2-devel
yum install -y libxslt-devel
yum install -y openldap-devel
yum install -y python-devel
yum install -y gcc-c++
yum install -y libssh2-devel
集中式单机部署
1. 将一键部署包拷贝到antdb用户家目录下,并修改权限
chown antdb.antdb tar -xvf antdb-ce-7.2.0.centos7.aarch64.tar
2. 登录到antdb用户进行安装
su - antdb
tar -xzvf antdb-ce-7.2.0.centos7.aarch64.tar
cd antdb-ce-7.2.0.centos7.aarch64.tar
3. 进行交互式安装
sh antdb_install.sh
--第一处安装
Are you sure to continue ?(Y/N) [DEFAULT:Y]
--第二处安装
Do you agree? [yes/no,Default:Y]
--第三处安装
[Note]Choose AntDB type "(c)entralized" or "(d)istributed" for installation [Default: centralized] c
--第四处安装
[Note] Choose an empty directory to install AntDB [Default:/home/antdb/app/antdb]
--第五处安装
[Note] Continue to do AntDB initialization?[yes/no,Default:yes] no
(第五处选择no,根据环境进行手动初始化)
--实例初始化
1. 进行setup/common/initconf-c.ini文件,修改相关信息
[clusterinfo]
cluster_type=C_ALONE
cluster_name=antdbcluster
cluster_user=antdb
[primary_info]
primary_ip=ip
primary_sshport=22
antdb_apppath=/home/antdb/app/antdb
antdb_datapath=/home/antdb/data_a
antdb_password=antdb
antdb_port=6655
2. 初始化 sh antdb_init.sh -c /u01/antdb/antdb-ce-7.2.0.centos7.x86_64/setup/common/initconf-c.ini
集中式主备部署
1. 将一键部署包拷贝到antdb用户家目录下,并修改权限
chown antdb.antdb tar -xvf antdb-ce-7.2.0.centos7.aarch64.tar
2. 登录到antdb用户进行安装
su - antdb
tar -xzvf antdb-ce-7.2.0.centos7.aarch64.tar
cd antdb-ce-7.2.0.centos7.aarch64.tar
3. 进行交互式安装
sh antdb_install.sh
--第一处安装
Are you sure to continue ?(Y/N) [DEFAULT:Y]
--第二处安装
Do you agree? [yes/no,Default:Y]
--第三处安装
[Note]Choose AntDB type "(c)entralized" or "(d)istributed" for installation [Default: centralized] c
--第四处安装
[Note] Choose an empty directory to install AntDB [Default:/data/antdb/app/antdb]
--第五处安装
[Note] Continue to do AntDB initialization?[yes/no,Default:yes] no
(第五处选择no,根据环境进行手动初始化)
--实例初始化
1. 进行setup/common/initconf-c.ini文件,修改相关信息
[clusterinfo]
cluster_type=C_HA
cluster_name=antdbcluster
cluster_user=antdb
[primary_info]
primary_ip=10.170.103.6
primary_sshport=22
antdb_apppath=/data/antdb/app/antdb
antdb_datapath=/data/antdb/data_ha
antdb_password=enmo#2024
antdb_port=5432
[standby_info]
standby_node = standby1,10.xxx.xxx.7,22,/data/antdb/app/antdb,/data/antdb/data_ha,5432
standby_node = standby2,10.xxx.xxx.9,22,/data/antdb/app/antdb,/data/antdb/data_ha,5432
[etcd_info]
etcd_node=etcd-1,/data/antdb/etcd,12379,12380,primary
etcd_node=etcd-2,/data/antdb/etcd,12379,12380,standby1
etcd_node=etcd-3,/data/antdb/etcd,12379,12380,standby2
[patroni_info]
patroni_node=patroni-1,8008,primary
patroni_node=patroni-2,8008,standby1
patroni_node=patroni-3,8008,standby2
2. 初始化 sh antdb_init.sh -c setup/common/initconf-c.ini
分布式部署
1. 将一键部署包拷贝到antdb用户家目录下,并修改权限
chown antdb.antdb tar -xvf antdb-ce-7.2.0.centos7.aarch64.tar
2. 登录到antdb用户进行安装
su - antdb
tar -xzvf antdb-ce-7.2.0.centos7.aarch64.tar
cd antdb-ce-7.2.0.centos7.aarch64.tar
3. 进行交互式安装
sh antdb_install.sh
--第一处安装
Are you sure to continue ?(Y/N) [DEFAULT:Y]
--第二处安装
Do you agree? [yes/no,Default:yes]
--第三处安装
[Note]Choose AntDB type "(c)entralized" or "(d)istributed" for installation [Default: centralized] d
--第四处安装
[Note] Choose an empty directory to install AntDB [Default:/home/antdb/app/antdb]
--第五处安装
[Note] Continue to do AntDB initialization?[yes/no,Default:yes] no
(第五处选择no,根据环境进行手动初始化)
--实例初始化
1. 进行setup/common/initconf-c.ini文件,修改相关信息
[clusterinfo]
cluster_type=D
cluster_name=antdbcluster
cluster_user=antdb
[mgr_info]
primary_ip=ip
primary_sshport=22
antdb_apppath=/home/antdb/app/antdb
antdb_datapath=/home/antdb/mgr
antdb_password=antdb
antdb_port=6656
[host_info]
host = adb01,port,ssh,apppath,60102,antdb,ip1
host = adb02,port,ssh,apppath,60102,antdb,ip2
host = adb03,port,ssh,apppath,60102,antdb,ip3
[node_info]
node=cn1,CN,adb01,6655,/home/antdb/data/cn1,master
node=cn1,DN,adb01,60104,/home/antdb/data/dn1,master
node=cn2,DN,adb02,60105,/home/antdb/data/dn2,master
node=dn3,DN,adb01,6655,/home/antdb/data/cn1,master
node=cn1,CN,adb01,6655,/home/antdb/data/cn1,master
[patroni_info]
patroni_node=patroni-1,8008,primary
patroni_node=patroni-2,8008,standby1
patroni_node=patroni-3,8008,standby2
2. 初始化 sh antdb_init.sh -c setup/common/initconf-c.init
环境变量
--简略版
export ADBHOME=/data/antdb/app/antdb
export PATH=$ADBHOME/bin:$PATH
export LD_LIBRARY_PATH=$ADBHOME/lib:$LD_LIBRARY_PATH
export PGDATABASE=postgres
export adbdata=/data/antdb/data_ha
alias adbmgr='psql -p 5432 -d postgres '
alias adb_stop='pg_ctl stop -D $adbdata -m fast'
alias adb_start='pg_ctl start -D $adbdata'
alias adb_status='pg_ctl status -D $adbdata'
卸载antdb
1. 停库adb_ctl stop -D 数据文件路径
2. 使用卸载脚本卸载
cd /data/antdb/app/antdb/setup/uninstall
sh antdb_uninstall.sh
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




