首页 > 其他分享 >lightdb搭建单服务器高可用环境

lightdb搭建单服务器高可用环境

时间:2023-04-06 17:33:27浏览次数:31  
标签:lightdb 13.8 ltcluster etc 23.1 home 服务器 搭建

1、安装lightdb单机版,具体步骤可参考http://www.light-pg.com/docs/LightDB_Install_Manual/current/index.html

 此文示例所安装的单机版部分参数

  port:60001

  $LTHOME:/home/lightdb/test/monitored/ha/lightdb-x/13.8-23.1

  $LTDATA:/home/lightdb/test/monitored/ha/lightdb-x/13.8-23.1/cluster/data

2、根据服务器配置,修改shared_buffer,避免standby节点无法启动(此步骤可不执行)

3、添加ltcluster插件并启动

  3.1、shared_preload_libraries后面加上ltcluster

  3.2、重启数据库,然后在命令行执行下面命令

ltsql -p 60001 -h localhost -dpostgres -c"create extension ltcluster;"
ltsql -p 60001 -h localhost -dpostgres -c"create role ltcluster superuser password 'ltcluster' login;"
ltsql -p 60001 -h localhost -dpostgres -c"create database ltcluster owner ltcluster;"

4、生成primary节点配置文件

  4.1、

mkdir -p $LTDATA/../etc/ltcluster
cp -rf $LTHOME/etc/ltcluster $LTDATA/../etc/

  4.2、变量替换为自己的即可,主要是id,NODE_NAME,ip(此文默认为127.0.0.1),port

echo "
node_id=$id
node_name='$NODE_NAME'
conninfo='host=$ip port=$port user=ltcluster dbname=ltcluster connect_timeout=2'
data_directory='$LTDATA'
pg_bindir='$LTHOME/bin'
failover='automatic'
promote_command='$LTHOME/bin/ltcluster standby promote -f $LTDATA/../etc/ltcluster/ltcluster.conf'
follow_command='$LTHOME/bin/ltcluster standby follow -f $LTDATA/../etc/ltcluster/ltcluster.conf  --upstream-node-id=%n'
restore_command='cp $LTHOME/archive/%f %p'
monitoring_history=true #(Enable monitoring parameters)
monitor_interval_secs=2 #(Define monitoring data interval write time parameter)
connection_check_type='ping'
reconnect_attempts=3 #(before failover,Number of attempts to reconnect to primary before failover(default 6))
reconnect_interval=5
standby_disconnect_on_failover =true
log_level=INFO
log_facility=STDERR
log_file='$LTHOME/etc/ltcluster/ltcluster.log'
failover_validation_command='$LTHOME/etc/ltcluster/ltcluster_failover.sh "$LTHOME" "$LTDATA"'
shutdown_check_timeout=1800
use_replication_slots=true
check_lightdb_command='$LTHOME/etc/ltcluster/check_lightdb.sh'
check_lightdb_interval=10
" > $LTDATA/../etc/ltcluster/ltcluster.conf

示例

node_id=1
node_name='lightdbCluster12700160001'
conninfo='host=127.0.0.1 port=60001 user=ltcluster dbname=ltcluster connect_timeout=2'
data_directory='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster/data'
pg_bindir='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/bin'
failover='automatic'
promote_command='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/bin/ltcluster standby promote -f /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster/etc/ltcluster.conf'
follow_command='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/bin/ltcluster standby follow -f /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster/etc/ltcluster.conf  --upstream-node-id=%n'
monitoring_history=true #(Enable monitoring parameters)
monitor_interval_secs=2 #(Define monitoring data interval write time parameter)
connection_check_type='ping'
reconnect_attempts=3 #(before failover,Number of attempts to reconnect to primary before failover(default 6))
reconnect_interval=5
standby_disconnect_on_failover =true
log_level=INFO
log_facility=STDERR
log_file='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster/etc/ltcluster/ltcluster.log'
failover_validation_command='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/etc/ltcluster/ltcluster_failover.sh /home/lightdb/zm/ha/lightdb-x/13.8-23.1 /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster/data'
shutdown_check_timeout=1800
use_replication_slots=true
check_lightdb_command='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/etc/ltcluster/check_lightdb.sh /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster/data'
check_lightdb_interval=10

5、注册primary节点

ltcluster -f $LTDATA/../etc/ltcluster/ltcluster.conf primary register -F
ltclusterd -d -f $LTDATA/../etc/ltcluster/ltcluster.conf -p $LTDATA/../etc/ltcluster/ltclusterd.pid
ltcluster -f $LTDATA/../etc/ltcluster/ltcluster.conf service status
ltcluster -f $LTDATA/../etc/ltcluster/ltcluster.conf cluster show

6、配置standby节点

 6.1、standby节点的实例目录和ltcluster可根据需要配置,此文是按照lightdb 13.8-23.1版本的高可用来配置的

mkdir -p $LTHOME/cluster1/archive
mkdir -p $LTHOME/cluster1/etc/ltcluster
cp -rf $LTDATA/../etc/ltcluster/ $LTHOME/cluster1/etc/
cd $LTHOME/cluster1/etc/ltcluster
rm -rf ltclusterd.pid  #不删除会影响standby节点ltcluster启动

 6.2、修改ltcluster.conf,此时的ltcluster.conf在$LTHOME/cluster1/etc/ltcluster下面

具体参考primary节点的配置,id,NODE_NAME,ip(此文默认为127.0.0.1),port,还有ltcluster.conf目录,实例目录,这些和primary节点都不一样,一定要修改,下面为示例

node_id=2
node_name='lightdbCluster12700160002'
conninfo='host=127.0.0.1 port=60002 user=ltcluster dbname=ltcluster connect_timeout=2'
data_directory='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1/data'
pg_bindir='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/bin'
failover='automatic'
promote_command='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/bin/ltcluster standby promote -f /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1/etc/ltcluster.conf'
follow_command='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/bin/ltcluster standby follow -f /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1/etc/ltcluster.conf  --upstream-node-id=%n'
monitoring_history=true #(Enable monitoring parameters)
monitor_interval_secs=2 #(Define monitoring data interval write time parameter)
connection_check_type='ping'
reconnect_attempts=3 #(before failover,Number of attempts to reconnect to primary before failover(default 6))
reconnect_interval=5
standby_disconnect_on_failover =true
log_level=INFO
log_facility=STDERR
log_file='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1/etc/ltcluster/ltcluster.log'
failover_validation_command='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/etc/ltcluster/ltcluster_failover.sh /home/lightdb/zm/ha/lightdb-x/13.8-23.1 /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1/data'
shutdown_check_timeout=1800
use_replication_slots=true
check_lightdb_command='/home/lightdb/zm/ha/lightdb-x/13.8-23.1/etc/ltcluster/check_lightdb.sh /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1 /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1/data'
check_lightdb_interval=10

7、执行clone,视数据量大小, 这可能需要几分钟到几个小时

ltcluster -f $LTHOME/cluster1/etc/ltcluster/ltcluster.conf standby clone -h 127.0.0.1 -p 60001 -U ltcluster 

特别注意:此处的ltcluster.conf是步骤6里面生成的,而不是primary的,-h和-p是primary节点的

8、修改standby节点的端口为60002,然后启动standby节点实例(clone过去,lightd)

9、注册standby节点,此处的ltcluster.conf是步骤6里面生成的

#注册standby节点
ltcluster -f /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1/etc/ltcluster.conf standby register -F
#启动ltcluster进程
ltclusterd -d -f /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1/etc/ltcluster.conf -p /home/lightdb/zm/ha/lightdb-x/13.8-23.1/cluster1/etc/ltclusterd.pid

10、查看集群状态

ltcluster -f $LTDATA/../etc/ltcluster/ltcluster.conf service status
ltcluster -f $LTDATA/../etc/ltcluster/ltcluster.conf cluster show

标签:lightdb,13.8,ltcluster,etc,23.1,home,服务器,搭建
From: https://www.cnblogs.com/zm24/p/17293532.html

相关文章

  • 恒创科技:如何正确配置美国网络服务器?
    在使用美国网络服务器时,充分注意其配置对于确保服务器和网络的性能、稳定性和安全性至关重要。网络服务器配置是指设置和配置网络服务器的硬件和软件以使其启动和运行的过程。它涉及多个步骤,包括配置操作系统、网络协议、安全设置、用户访问、共享资源和网络服务。配置美......
  • npm老不行?用淘宝的服务器的源吧
    最近使用npm老不行,换成用cnpm但里面又不全,还好找到了办法我是在ECS服务器上使用淘宝的源,阿里云默认已设置了源如果想设置就如下方法:首先当然是安装npmsudoapt-getinstallnpm 设置npm的源安装依赖npminstall当然也可以直接不设置源,如下:npminstall--registry=https://registr......
  • 技术分享:Proxy-Pool代理池搭建IP代理
    技术分享:Proxy-Pool代理池搭建IP代理 前言本章内容仅供参考,不涉及实际使用,主要使用Python环境和Redis数据库进行环境搭建,工具网盘存储如下,有问题可以私聊我。网址:https://wwgn.lanzoul.com/b03w0tvja密码:am5m一、环境准备1、Python3.10/.72、Redis5.0.103、Proxy-pool2.4.1......
  • 搭建Lyrio
    前言本文面向想要搭建Lyrio而不熟悉Linux命令行的读者,如果你熟悉Linux系统,那么参考lyrio-dev中各个仓库的readme可能会更方便你的部署。准备工作本文涉及的操作可能需要高权限执行,建议执行以下命令提权(作为root)后再开始:sudosu准备yarnaptremovecmdtestapt......
  • 直播平台搭建源码,XBanner设置只显示轮播图
    直播平台搭建源码,XBanner设置只显示轮播图setData()和loadImage()方法同时设置才能生效XBannerbannerView;privateList<BannerItem>bannerItems=newArrayList<>();bannerItems.clear();bannerItems.addAll(bannerItem);bannerView.setData(R.layout.xbanner_custom_layout,......
  • spring boot搭建出现的问题
    1.springboot2.0报错:dataSourceordataSourceClassNameorjdbcUrlisrequired.]withrootcause原因:springboot连接数据库是默认的是:spring.datasource为前缀而在代码中mysql的链接配置是这样的   这样我们在application.properties文件配置中就必须使用数据源前......
  • Linux系统查看服务器硬件信息
    1、查看服务器型号1[root@localhost~]#dmidecode|grep"Product"2ProductName:RH2288HV33ProductName:BC11H****2、查看服务器的序列号1[root@localhost~]#dmidecode-tsystem|grep'SerialNumber'2SerialNumber:21......
  • Hadoop技术之Apache Hadoop集群搭建Apache Hadoop概述
    Hadoop离线是大数据生态圈的核心与基石,是整个大数据开发的入门。本次分享内容让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间,下面一起开始今天的学习!一、Hadoop集群简介Hadoop集群整体概述Hadoop集群包括两个集群: HDFS集群、YARN集群两个集群逻辑上分离......
  • 走进Java接口测试之从0到1搭建数据驱动框架(需求篇)
    前言一个“好的”数据驱动框架,需要从“时间”、“人力”、“收益”这三个方面出发,做好“取舍”。不能由于被测业务系统发生一些变更,就导致花费了几个小时的脚本无法执行。同时,我们需要看到“收益”,不能为了总想看到100%的成功,而减少必须做的工作,这导致可能都需要进行大量的维护。......
  • 什么是云服务器?
    云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。用一个比喻形象的来描述云服务器,云服务器就好比是一个酒店,每一个租户都会有一个独立的房间,可以自己去操作。(房间的......