lightdb高可用部署

1.系统环境

操作系统:CentOS 7

安装版本:LightDB1.0-x-V202401-00-000-el7-x86_64

2.安装前准备

(1)关闭防火墙(主+备)

systemctl stop firewalld.service
systemctl disable firewalld.service

(2)关闭selinux(主+备)

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

(3)检查时间和时区(主+备)

timedatectl
改时区:
timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai

(4)安装依赖包(主+备)

# 安装包通用运行依赖,GUI安装和命令行安装均需要
yum install -y procps-ng
yum install -y coreutils

# GUI安装运行依赖,仅GUI安装需要
yum install -y gtk2
yum install -y libXtst
yum install -y dejavu-fonts # 麒麟v10sp1可能需要安装字体

# 数据库的运行依赖
yum install -y readline
yum install -y zlib
yum install -y libxml2
yum install -y openssl-libs
yum install -y uuid
yum install -y c-ares libpcap snappy # tshark
yum install -y ncurses-libs # iftop
yum install -y libnl3 # keepalived ipv6
yum install -y libzstd # canopy
yum install -y sysstat
yum install -y json-c
yum install -y libicu
yum install -y bc

(5)创建lightdb用户并设置sudo免密

groupadd lightdb
useradd -g lightdb -m lightdb
passwd lightdb

为lightdb用户设置sudo免密,如下图所示,在/etc/sudoers中新增一行lightdb ALL=(ALL)  NOPASSWD:ALL

(6)创建LightDB安装目录和实例目录

mkdir -p /data/lightdb
chown -R lightdb:lightdb /data/lightdb

(7)配置操作系统内核参数

echo "kernel.shmmni=4096" >> /etc/sysctl.conf
echo "kernel.shmmax=$(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))" >> /etc/sysctl.conf
echo "kernel.shmall=$(expr $(getconf _PHYS_PAGES) / 2)" >> /etc/sysctl.conf
echo "kernel.sem=500 2048000 200 4096" >> /etc/sysctl.conf

echo "fs.aio-max-nr=1048576" >> /etc/sysctl.conf
echo "fs.file-max=524288" >> /etc/sysctl.conf

echo "vm.swappiness=5" >> /etc/sysctl.conf
echo "vm.overcommit_memory=2" >> /etc/sysctl.conf
echo "vm.overcommit_ratio=75" >> /etc/sysctl.conf
echo "vm.dirty_background_ratio=5" >> /etc/sysctl.conf
echo "vm.dirty_ratio=40" >> /etc/sysctl.conf
echo "vm.dirty_expire_centisecs=500" >> /etc/sysctl.conf
echo "vm.dirty_writeback_centisecs=250" >> /etc/sysctl.conf

echo "net.core.somaxconn=2000" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_syn_backlog=2000" >> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_reuse=1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_syn_retries=3" >> /etc/sysctl.conf
echo "net.ipv4.tcp_retries2=5" >> /etc/sysctl.conf
echo "net.ipv4.tcp_slow_start_after_idle=0" >> /etc/sysctl.conf

(8)配置limits.conf

echo "lightdb hard core   unlimited" >> /etc/security/limits.conf
echo "lightdb soft core   unlimited" >> /etc/security/limits.conf
echo "lightdb hard nofile 524288"    >> /etc/security/limits.conf
echo "lightdb soft nofile 524288"    >> /etc/security/limits.conf
echo "lightdb hard nproc  16384"     >> /etc/security/limits.conf
echo "lightdb soft nproc  16384"     >> /etc/security/limits.conf

切换到lightdb用户使设置生效

[lightdb@databse ~]$ ulimit -c
unlimited
[lightdb@databse ~]$ ulimit -n
524288
[lightdb@databse ~]$ ulimit -u
16384

(9)开启Swap交换区

将交换区文件创建在/swap,大小为2GB:
dd if=/dev/zero of=/swap bs=1M count=2048 # Swap交换区大小 = 2048MB

使用mkswap格式化文件
mkswap -f /swap

修改交换区文件权限为0600
chmod 0600 /swap

启用刚刚创建的交换区
swapon /swap

设置开机自动启用,修改/etc/fstab文件,添加如下配置
/swap swap swap defaults 0 0

(10)配置SSH免密互通

# 免密认证,所有服务器都要执行
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa

# 证书同步,所有服务器都要执行
ssh-copy-id lightdb@192.168.10.128
ssh-copy-id lightdb@192.168.10.110

# 免密验证,主机SSH连接从机,无需输密码
[lightdb@localhost install]$ ssh lightdb@192.168.10.128
Last login: Thu Aug 12 09:02:32 2021

(11)配置NTP校时服务

主节点:

2.vim /etc/ntp.conf
server 127.127.1.0 #以本机作为时间服务器
fudge 127.127.1.0 startnum 10 #设置服务器层级
restrict 127.0.0.1 # 允许本机使用这个时间服务器
restrict 192.168.40.0 netmask 255.255.255.0 #允许允许192.168.1.0/24网段的所有主机使用该时间服务器进行时间同步
driftfile /var/lib/ntp/ #记录当前时间服务器,与上游服务器的时间差的文件
logfile /var/log/ntp/ntp.log #指定日志文件位置,需要手动创建


systemctl restart ntpd
ntpd -p

备节点:

vim /etc/ntp.conf
server 192.168.153.14 #设置以192.168.1.111做为本机的时间服务器
restrict 127.0.0.1
logfile /var/log/ntp/ntp.log #指定日志文件位置,需要手动创建

systemctl stop ntpd

ntpdate 192.168.40.11

(12)上传安装包到/home/lightdb,更改属主

3.高可用部署

export DISPLAY=192.168.40.1:0.0
./install.sh
yes

 

sudo sysctl -w fs.file-max=524288

 

 ERROR

wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.5-1.el7.x86_64.rpm
yum install libzstd*

  

 1qaz@WSX

 

重做2.(11)

使用ssh客户端登录机器终端,切换到root用户

主备都执行,witness不执行
cd /data/lightdb/lightdb-x/13.8-24.1/tools/bin/
./keepalived -f /data/lightdb/lightdb-x/13.8-24.1/etc/keepalived/keepalived.conf

主备witness都执行
sh /home/lightdb/lightdb-x-13.8-24.1-22185-el7.x86_64/script/13_ntp_start.sh /data/lightdb/lightdb-x/13.8-24.1/

安装完成。

4.升级python3

详见:在Linux下升级到Python3的两种方法_linux pythin3.7升级-CSDN博客

[root@dba ~]# python -V
Python 2.7.5

wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz

解压
tar -zxvf Python-3.7.7.tgz


安装依赖包:
yum update -y
yum install -y make gcc gcc-c++

cd Python-3.7.7/
./configure 


编译和安装
make
make install

设置3.x为默认版本:

ls -la /usr/bin | grep python

原来的python的软连接重命名:
mv /usr/bin/python /usr/bin/python.bak

将python链接至python3:
find / -name python

在解压缩后的文件中查看当前路径
pwd
ln -s /home/ec2-user/Python-3.7.7/python /usr/bin/python

配置yum:

升级Python版本之后将由默认的python指向了python3,yum不能正常使用,需要更改yum的配置文件:

vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down

将
#!/usr/bin/python 改为 #!/usr/bin/python2.7

pip下载地址:

https://pypi.python.org/pypi/pip

安装pip:

tar -xvzf pip-20.0.2.tar.gz
cd pip-20.0.2
python setup.py install

5.集群常用命令

查看节点间同步状态及延迟
SELECT * FROM pg_stat_replication;   --主库查询
SELECT * FROM pg_stat_wal_receiver;  --备库查询

查看各节点状态
$LTHOME/bin/ltcluster -f $LTDATA/../etc/ltcluster/ltcluster.conf node status

查看集群状态
ltcluster -f $LTDATA/../etc/ltcluster/ltcluster.conf service status

启动/停止集群
lightdb_service.py -c start/stop

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠檬不酸z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值