首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >hhdb数据库介绍(9-24)

hhdb数据库介绍(9-24)

原创
作者头像
恒辉信达
修改2025-03-10 12:00:46
修改2025-03-10 12:00:46
4670
举报
文章被收录于专栏:mysqlmysql

计算节点参数说明

failoverAutoresetslave

参数说明:

Property

Value

参数值

failoverAutoresetslave

是否可见

参数说明

故障切换时,是否自动重置主从复制关系

默认值

false

Reload是否生效

参数设置:

代码语言:xml
复制
<property name="failoverAutoresetslave">false</property><!-- 故障切换时,是否自动重置主从复制关系 -->

参数作用:

此参数用于保障存储节点发生故障切换后的数据正确性。开启参数,故障切换后,会暂停原主从之间IO线程,等原主库恢复正常后,检测原从库(现主库)是否仍存在未接收的事务,若存在,则自动重置主从复制关系。

frontConnectionTrxIsoLevel

参数说明:

Property

Value

参数值

frontConnectionTrxIsoLevel

是否可见

参数说明

前端连接默认隔离级别

默认值

2

Reload是否生效

参数设置:

代码语言:xml
复制
<property name="frontConnectionTrxIsoLevel">2</property>

参数作用:

用于设置计算节点的前端连接的默认初始时的隔离级别,五种隔离级别选择:

代码语言:bash
复制
0=read-uncommitted; 1=read-committed; 2=repeatable-read; 3=serializable;4=read-semi-committed

frontWriteBlockTimeout

参数说明:

Property

Value

参数值

frontWriteBlockTimeout

是否可见

参数说明

前端连接写阻塞超时时间

默认值

10000ms

最小值

2000ms

最大值

600000ms

Reload是否生效

Y

参数作用:

在计算节点到客户端存在网络延迟过大或者网络不可达,客户端接收数据慢等情况下,可能会出现前端写阻塞。

前端连接写阻塞超时时,会关闭前端连接,然后输出对应的日志提示" closed, due to write block timeout",如下:

代码语言:bash
复制
2018-06-14 13:46:48.355 [INFO] [] [TimerExecutor1] FrontendConnection(695) -- [thread=TimerExecutori,id=9,user=cara,host=192.168.200.82,port=8883,localport=61893,schema=TEST_LGG] closed, due to write block timeout, executing SQL: select * from customer_auto_1

forwardFunction

参数说明:

Property

Value

参数值

forwardFunction

是否可见

参数说明

非单库逻辑库,开启后可下发函数DDL

默认值

false

Reload是否生效

参数设置:

代码语言:xml
复制
<property name="forwardFunction">false</property><!--  下发函数DDL(forward function operation to datasource)  -->

参数作用:

forwardFunction参数开启后支持非单库函数DDL语句下发。 参数为false时,非单库的逻辑库,禁止执行函数DDL(CREATE\ALTER\DROP):

参数为true时,非单库的逻辑库,可以执行函数DDL(CREATE\ALTER\DROP)

generatePrefetchCostRatio

参数说明:

Property

Value

参数值

generatePrefetchCostRatio

是否可见

参数说明

触发提前预取的已消耗比例

默认值

90

最小值

50

最大值

100

Reload是否生效

参数设置:

代码语言:xml
复制
<property name="generatePrefetchCostRatio">70</property>

参数作用:

隐藏参数,配置批次已消耗比例,已消耗比例是指当前自增值占当前批次大小的比例,例如当前自增值为89,当前批次大小为100,则已消耗比例为89%。

若批次使用率达到已消耗比例,则会触发提前预取新的批次。例如参数设置为70,若批次使用率达到70%,则开始预取下一批次。

globalUniqueConstraint

参数说明:

Property

Value

参数值

globalUniqueConstraint

是否可见

参数说明

新增表是否默认开启全局唯一约束

默认值

false

Reload是否生效

参数设置:

server.xml中globalUniqueConstraint参数配置 如下配置:

代码语言:xml
复制
<property name="globalUniqueConstraint">false</property><!--新增表是否默认开启全局唯一约束-->

参数作用:

新增表是否默认开启全局唯一约束,修改为true后可默认为添加的表开启全局唯一约束。

开启全局唯一约束保证有唯一约束(UNIQUE、PRIMARY KEY)的列在所有数据节点上唯一。注意:开启该功能后,可能对SQL语句INSERT、UPDATE、DELETE执行效率有较大影响,可能导致SQL操作延迟增大;还可能导致锁等待和死锁的情况增加。

haMode

参数说明:

Property

Value

参数值

haMode

是否可见

参数说明

高可用模式, 0:HA, 1:集群, 2:HA模式中心机房, 3:HA模式容灾机房,4:集群模式中心机房,5:集群模式容灾机房

默认值

0

Reload是否生效

参数设置:

server.xml中haMode参数配置 如下配置:

代码语言:xml
复制
<property name="haMode">0</property><!-- 高可用模式, 0:HA, 1:集群, 2:HA模式中心机房, 3:HA模式容灾机房,4:集群模式中心机房,5:集群模式容灾机房 -->

参数作用:

haMode可设置为0,1,2,3,4,5。对于单机房模式下的计算节点集群,与低版本的使用方法相同,将haMode设置为0或1,表示单机房模式下的单节点、高可用以及集群模式。对于容灾模式下的计算节点集群,在中心机房将此参数设置为2,在容灾机房将此参数设置为3,表示容灾模式下的单节点或高可用模式。容灾模式的计算节点集群不支持集群模式。其中4为开启容灾模式后,计算节点为多计算节点集群模式的中心机房;5为开启容灾模式后,计算节点为多计算节点集群模式的容灾机房。

haState & haNodeHost

参数说明:

Property

Value

参数值

haState

是否可见

参数说明

计算节点高可用模式下的主备角色配置,主计算节点配置为:master,备计算节点配置为:backup(集群模式下,此项无效)

默认值

master

Reload是否生效

Property

Value

参数值

haNodeHost

是否可见

参数说明

计算节点高可用模式下需配置当前主计算节点管理端口连接信息;集群模式下,需配置所有成员的集群通信端口连接信息(集群在同一网段且集群端口相同时,可以不配置该参数)

默认值

(空)

Reload是否生效

参数设置:

server.xml中haMode参数配置,如下配置:

代码语言:xml
复制
<property name="haState">master</property><!-- 计算节点高可用模式下的主备角色配置,主计算节点配置为:master,备计算节点配置为:backup(集群模式下,此项无效) -->
<property name="haNodeHost"></property><!-- 计算节点高可用模式下需配置当前主计算节点管理端口连接信息;集群模式下,需配置所有成员的集群通信端口连接信息,且集群模式下,只有当集群内所有计算节点在同一网段且集群端口相同时,可以不配置该参数,否则必须配置所有成员的集群通信信息。例:192.168.220.1:3326,192.168.200.1:3327,192.168.200.1:3328 -->

参数作用:

haState与haNodeHost属于配套参数。

当计算节点为高可用模式时,haState为主节点(master)角色,haNodeHost配置为空;haState为备节点(backup)角色,haNodeHost可配置为对端当前主计算节点管理端连接信息,即IP:PORT,此处PORT为管理端口;当backup角色的计算节点被keepalived触发启动(online)时,会主动往haNodeHost上的原master服务发送offline命令以尽可能减少多活场景的出现。例如192.168.200.51:3325与192.168.200.52:3325属于计算节点高可用的环境,该组参数是用户使用计算节点高可用关系的关键配置,主计算节点haState角色为master, 备计算节点haState角色为backup , 并且haNodeHost需要指定配置与之关联的主服务的IP和管理端口。

当计算节点为多节点集群模式时,haState无实际意义,但haNodeHost需要注意:只有当集群内所有计算节点在同一网段且集群端口相同时,可以不配置该参数(此时需要正确配置clusterNetwork参数),否则必须配置所有成员的集群通信信息。例如:192.168.220.1:3326,192.168.200.1:3327,192.168.200.1:3328属于多计算节点,需要指定配置该集群的所有计算节点的IP和通信端口。

单计算节点服务可忽略该参数。

高可用模式主节点示例:

代码语言:xml
复制
<property name="haState">master</property><!-- 计算节点高可用模式下的主备角色配置,主计算节点配置为:master,备计算节点配置为:backup(集群模式下,此项无效) -->
<property name="haNodeHost"/><!-- 当前主计算节点节点连接信息,IP:PORT (主备模式下使用,PORT表示管理端口,例:192.168.200.2:3325)-->

高可用模式备节点示例:

代码语言:xml
复制
<property name="haState">backup</property><!-- 计算节点高可用模式下的主备角色配置,主计算节点配置为:master,备计算节点配置为:backup(集群模式下,此项无效) -->
<property name="haNodeHost"/>192.168.200.51:3325<!-- HA角色,其他节点IP:PORT (主备模式下使用,PORT表示管理端口,例:192.168.200.2:3325)-->

集群模式实例:

代码语言:xml
复制
<property name="haState">backup</property><!-- 集群模式下,此项无实际意义-->
<property name="haNodeHost"/>192.168.220.1:3326,192.168.220.1:3327,192.168.200.1:3328<!-- 集群模式下,若集群所有成员在同一网段且集群端口相同时,可以不配置该参数,否则必须配置所有成员的连接信息,IP:PORT 逗号间隔,此处PORT为监听端口-->

highCostSqlConcurrency

参数说明:

Property

Value

参数值

highCostSqlConcurrency

是否可见

参数说明

高消耗语句的并发数

默认值

32

最小值

1

最大值

2048

Reload是否生效

Y

参数作用:

此参数为计算节点过载保护相关参数,用于控制高消耗语句的并发数(包括跨库join、union、update/delete...limit等),当前端执行并发数超过设置时,相关连接会被hold住,等待前面执行完后,才能执行下一批。

Show processlist中的flow control为lock状态,等待下一批执行。

可从管理端口中查看当前剩余可用的并发数。

代码语言:bash
复制
+-----+----------------------+----------------------+----------+---------+------+--------------+-----------------------------------------------------------------------+
| Id  | User                 | Host                 | db       | Command | Time | State        | Info                                                                  |
+-----+----------------------+----------------------+----------+---------+------+--------------+-----------------------------------------------------------------------+
| 150 | _HotDB_Cluster_USER_| 192.168.210.31:51428 | TEST_LGG | Query   | 0    | Sending data | select a.*,b.x from customer_auto_1 a join customer_auto_2 on ...省略 |
| 126 | _HotDB_Cluster_USER_| 192.168.210.31:51412 | TEST_LGG | Query   | 0    | Flow control | select a.*,b.x from customer_auto_1 a join customer_auto_2 on ...省略 |
| 222 | _HotDB_Cluster_USER_| 192.168.210.32:16636 | TEST_LGG | Query   | 0    | optimizing   | select a.*,b.x from customer_auto_1 a join customer_auto_2 on ...省略 |
| 174 | _HotDB_Cluster_USER_| 192.168.210.32:16604 | TEST_LGG | Query   | 0    | Sending data | select a.*,b.x from customer_auto_1 a join customer_auto_2 on ...省略 |
| 129 | _HotDB_Cluster_USER_| 192.168.210.31:51414 | TEST_LGG | Query   | 0    | Flow control | select a.*,b.x from customer_auto_1 a join customer_auto_2 on ...省略 |
...省略更多...

mysql> show @@debug;
+------------+------------+
| join_limit | committing |
+------------+------------+
| 32         | 0          |
+------------+------------+
1 row in set (0.00 sec)

highCostSqlThreshold

参数说明:

Property

Value

参数值

highCostSqlThreshold

是否可见

参数说明

触发高内存消耗SQL流控的缓存行数阈值

默认值

100000

最小值

0

最大值

100000000

Reload是否生效

参数设置:

代码语言:xml
复制
<property name="highCostSqlThreshold">0</property><!-- 触发高内存消耗SQL流控的缓存行数阈值,默认100000, 0为不触发流控(Threshold of cached lines that trigger flow control of high memory cost SQL. The default value is 100000, and 0 means that all queries will not trigger flow control) -->

参数作用:

触发高内存消耗SQL流控的缓存行数阈值,当SQL消耗的缓存行数超过该值,将会触发流控。默认100000,0表示不触发流控。

holdCommitTimeout

参数说明:

Property

Value

参数值

holdCommitTimeout

是否可见

参数说明

Hold Commit操作超时(秒)

默认值

60

最小值

5

最大值

300

Reload是否生效

参数设置:

代码语言:xml
复制
<property name="holdCommitTimeout">5</property><!-- Hold Commit操作超时(秒)(Timeout(second) for hold commit command) -->

参数作用:

管理端执行hold commit命令,执行时间超过参数设置的时间时会报错。 设置计算节点与存储节点的网络延迟为7000ms,设置该参数的超时时间为5秒。手动开启一个事务,执行commit时,在管理端执行 hold commit命令,命令执行超过5秒超时失败

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 计算节点参数说明
    • failoverAutoresetslave
    • frontConnectionTrxIsoLevel
    • frontWriteBlockTimeout
    • forwardFunction
    • generatePrefetchCostRatio
    • globalUniqueConstraint
    • haMode
    • haState & haNodeHost
    • highCostSqlConcurrency
    • highCostSqlThreshold
    • holdCommitTimeout
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档