炫“库”行动-人大金仓有奖征文-金仓分析型数据库KADB管理节点主备节点的自动切换

KADB是人大金仓基于greenplum的分布式关系型数据库,采用MPP架构,提供主备管理节点自动切换功能。通过cluster_ha进行主备切换,并通过配置cluster_ha.ini和crontab实现定时检测。当主节点故障,备节点能接管工作,恢复正常后自动恢复为standby。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KADB 是北京人大金仓信息技术股份有限公司基于开源的greenplum数据库研发的一款分布式关系型数据库,全称是KingbaseAnalyticsDataBase。

KADB采用的是MPP架构:包括两个管理节点(master)和若干计算节点(segment)

 主要功能:

 管理节点:集群入口,负责接受SQL和分配SQL操作以及负责协调整个集群

 计算节点:存储数据,执行来自管理节点分配的操作任务

 两个管理节点一主一备,由主管理节点提供服务,备节点做冷备,当主管理节点发生故障时,由备节点来接管。开源的greenplum是不支持主备自动切换的,KADB提供相关的解决办法。

KADB是通过cluster_ha 来做主备自动切换的

需要手动配置HA配置文件——cluster_ha.ini,配置参数如下(master与master standby均需配置,cluster_ha.ini的模板默认路径为/home/mppadmin/mpp/bin/cluster_ha.ini):

◎master节点
RUNLEVEL=0	#脚本运行等级,0:ha+autostate、1:ha、2:autostate
ENV_FILENAME=mpp_path.sh	#数据库管理工具环境
INSTALL_DIRECTORY=/home/mppadmin/mpp	#数据库安装目录
CURRENT_HOSTNAME=host1	#本机主机名
CURRENT_PORT=5432	#本机master实例端口
CURRENT_DATA_DIRECTORY=/home/mppadmin/dbdata/master/mppseg-1	#本机master实例目录
PEER_PORT=5432	#探测主机master实例端口
PEER_HOSTNAME=host2	#探测主机主机名
PEER_DATA_DIRECTORY=/home/mppadmin/dbdata/master/mppseg-1	#探测主机master实例目录
DBNAME=postgres	#连接数据库名
CURRENT_MASTER_BACKUP_DIRECTORY=/home/mppadmin/master_backup	#本机master目录备份路径
PEER_MASTER_BACKUP_DIRECTORY=/home/mppadmin/master_backup	#备机master目录备份路径
TRUST_SERVER=192.168.2.1	#受信赖的第三方IP地址(防脑裂)
LINUX_USER=mppadmin	#linux系统登录数据库的用户名
ENABLE_VIP=0	#是否启用VIP,0:启用、1:停用
VIP_CARD_CURRENT=eth0	#本机虚IP所在网卡
VIP_CARD_PEER=eth0	#探测主机虚IP所在网卡
VIP_CARD_LABEL=1	#虚拟网卡号
VIP_ADDR=10.0.0.251	#虚IP地址
NETMASK=255.255.255.0	#子网掩码
CURRENT_GPSTOP_FILE="/tmp/.${GPSTOP}.${CURRENT_PORT}.lock"	#本机数据库锁文件名称
PEER_GPSTOP_FILE="/tmp/.${GPSTOP}.${PEER_PORT}.lock"	#备机数据库锁文件名称
CHECK_MASTER_RUNNING_STATE_TIMES=5	#状态监测次数
CHECK_MASTER_RUNNING_STATE_INTERVAL=1	#状态监测间隔时间
PING_COUNT=5	#ping主机次数
PING_INTERVAL=0.5	#ping主机时间间隔
PING_DEADLINE=5	#连接时长
LOG_DIRECTORY=/tmp	#log目录路径
CRONTAB_INTERVAL=1	#crontab的执行时间间隔(单位为分钟)
LOG_MIN_MESSAGE=1	#日志级别
STANDBY_NUMBER=1	#
PID_FILE=/tmp/.gpdb_cluster_ha.pid	#临时pid
CONNECT_TIMEOUT=10	#连接超时时间
RECYCLE_TIMES=15	#探测次数
INTERVAL=1	#探测间隔时间
SSH="ssh -T -o StrictHostKeyChecking=no"
◎master standby节点
RUNLEVEL=0	#脚本运行等级,0:ha+autostate、1:ha、2:autostate
ENV_FILENAME=mpp_path.sh	#数据库管理工具环境
INSTALL_DIRECTORY=/home/mppadmin/mpp	#数据库安装目录
CURRENT_HOSTNAME=host2	#本机主机名
CURRENT_PORT=5432	#本机master实例端口
CURRENT_DATA_DIRECTORY=/home/mppadmin/dbdata/master/mppseg-1	#本机master实例目录
PEER_PORT=5432	#探测主机master实例端口
PEER_HOSTNAME=host1	#探测主机主机名
PEER_DATA_DIRECTORY=/home/mppadmin/dbdata/master/mppseg-1	#探测主机master实例目录
DBNAME=postg
### 神通数据库中 `geometry` 类型的使用说明与定义 神通数据库(KingbaseES)是一种支持多模型数据管理的关系型数据库系统,其功能类似于引用中提到的金仓数据库KADB)。在神通数据库中,`geometry` 类型通常用于存储和操作地理空间数据[^1]。以下是对该类型的具体使用说明和定义: #### 1. `geometry` 类型的定义 `geometry` 是一种用于表示地理空间对象的数据类型,它可以存储点、线、多边形等几何图形。这种类型通常与 GIS(地理信息系统)相关联,能够支持矢量数据的存储和计算。在神通数据库中,`geometry` 类型可能基于开源如 GEOS 或 PostGIS 的实现,允许用户对地理空间数据进行复杂的查询和分析。 例如,在神通数据库中创建一个包含 `geometry` 类型字段的表时,可以使用以下 SQL 语句: ```sql CREATE TABLE spatial_data ( id SERIAL PRIMARY KEY, name VARCHAR(100), geom GEOMETRY ); ``` 上述代码中,`geom` 字段被定义为 `GEOMETRY` 类型,用于存储地理空间对象。 #### 2. `geometry` 类型的操作 神通数据库提供了丰富的函数和操作符来处理 `geometry` 类型的数据。这些操作包括但不限于以下内容: - **几何构造**:通过特定的函数生成几何对象,例如 `ST_GeomFromText` 或 `ST_Point`。 - **几何分析**:执行几何对象之间的关系分析,例如 `ST_Contains`、`ST_Intersects` 和 `ST_Distance`。 - **几何转换**:将几何对象从一种格式转换为另一种格式,例如 `ST_AsText` 或 `ST_AsBinary`。 以下是几个常见的操作示例: - 创建一个点对象: ```sql INSERT INTO spatial_data (name, geom) VALUES ('Point A', ST_GeomFromText('POINT(120.123456 30.654321)', 4326)); ``` - 查询两个几何对象是否相交: ```sql SELECT ST_Intersects( ST_GeomFromText('LINESTRING(0 0, 2 2)'), ST_GeomFromText('POINT(1 1)') ) AS intersects; ``` - 计算两个几何对象之间的距离: ```sql SELECT ST_Distance( ST_GeomFromText('POINT(120.123456 30.654321)', 4326), ST_GeomFromText('POINT(120.987654 30.123456)', 4326) ) AS distance; ``` #### 3. 配置与初始化 在神通数据库中启用 `geometry` 类型的支持,可能需要额外配置 GIS 扩展或插件。例如,在 ArcGIS 中配置地理数据库时,可以通过 ArcCatalog 软件完成相关设置,并确保授权文件为 `.ecp` 格式[^2]。尽管神通数据库的配置方式可能有所不同,但其核心理念是相似的。 #### 4. 应用场景 `geometry` 类型广泛应用于地理信息系统(GIS)、城市规划、交通运输等领域。它可以帮助用户解决以下问题: - 地理位置的存储与查询。 - 地理对象之间的空间关系分析。 - 复杂的空间计算,例如缓冲区分析、叠加分析等。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值