参数说明:
参数设置:
参数作用:
参数adaptiveProcessor默认开启,开启时将由计算节点自动适配最大timerExecutor数。登录3325端口,执行show @@threadpool;命令,可查看当前timerExecutor数。
参数说明:
参数设置:
timestampProxy参数为0时,代表自动模式,当计算节点检测到存储节点时间差异大于0.5秒时,自动全局代理时间函数。小于0.5秒时,只代理全局表、高精度时间戳和跨节点语句的时间函数。
参数设置为1时,代表global_table_only,仅全局表模式,计算节点仅代理全局表的时间函数。
参数设置为2时,代表all,全局模式,计算节点全局代理时间函数。
参数作用:
该参数用于表上有on update current_timestamp属性或SQL里用时间函数的代理,解决对应场景,insert或update操作可能会导致结果异常以及节点间时间数据存在差值的问题。如果timestampProxy设置为0且时间差异过大或者设置为2时,会大幅影响所有UPDATE语句的执行速度与效率。
参数说明:
参数设置:
unusualSQLMode属隐藏参数,若要开启,需通过管理平台"更多参数"添加并执行reload操作或者手动添加到server.xml中。参数默认值为1,配置如下:
参数作用:
日志同时记录计数器和SQL的场景:
后续每一次触发该类计数器,对应日志都正常输出。
无日志输出、只在接口统计计数器的场景:
后续该类计数器每一次触发,都不再有对应日志输出。
无日志输出、只在接口统计计数器的场景:
后续每当该类计数器统计满3时都会输出对应日志一次。
无日志输出、只在接口统计计数器的场景:
每一次触发,计数器都正常统计。
注意 计数器细化到表级别,针对表级别的每个错误号都有个计数器进行统计 日志路径:/usr/local/hhdb/hhdb-server/logs/extra/unusualsql/hotdb-unusualsql.log
参数说明:
参数作用:
url,username,password属于配套参数,url是存储计算节点配置信息的配置库路径,username,password属于连接该物理库的用户名密码,该配置库用于存储配置信息。
该用户名和密码需要在实例中创建,并赋予权限方可登录该配置库。用户名和密码均可自定义。
当启动计算节点,没有配置库高可用且配置库无法连接时,计算节点会间隔3秒重连,直到最终重试超过30分钟仍无法连接,则中断启动:
参数说明:
参数设置:
当参数为0时,计算节点使用的是NIO,标记AIO与NIO互斥。
参数作用:
用于设置当前计算节点是否启用AIO。
AIO:异步非阻塞,服务器实现模式为一个有效请求创建一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理,IO方式适用于连接数目多且连接比较长(重操作)的架构。由于目前Linux上AIO的实现尚未完成,计算节点对AIO的优化也远远不如NIO,建议不要开启这个参数。
参数说明:
参数作用:
计算节点对外显示的版本号,可自定义修改,能指定低版本的相关连接协议。
登陆实例时可查看相应版本号:
注意 当没有配置此参数时:所有存储节点的最低版本号低于或等于计算节点支持的最高版本号时,对外显示所有存储节点中最低的版本号;存储节点的版本号超过计算节点支持的最高版本号时,对外显示计算节点最高支持的协议版本的一个完整版本号。当配置了此参数时,这个参数会改变对外显示的版本号。
参数说明:
参数作用:
计算节点对外显示的版本备注信息,可自定义修改,及配合Version参数使用。如果该参数值为其他字符串,则将原版本备注信息替换为配置的字符串;若不想显示任何备注信息,可配置为空格(实际显示也是空格)。
例如:
配置为空:<property name="versionComment"></property>,连接计算节点:
配置为空格:<property name="versionComment"> </property>,连接计算节点:
配置为自定义字符串:<property name="versionComment">hotpu</property>,连接计算节点:
注意 连接后的status结果及客户端连接计算节点时的提示信息均会同步按照版本备注信息显示。例如:
参数说明:
VIP与checkVIPPeriod属于配套参数,VIP设置为Keepalived虚拟IP,checkVIPPeriod用于控制虚拟IP的检测频率。当计算节点开启了VIP检测时,如果备状态的计算节点发现VIP存在则自动执行online,如果主状态的计算节点发现VIP不存在则自动offline。该组参数适用于计算节点高可用环境,建议在计算节点主备节点的环境下配置,且需要设置为当前Keepalived的实际虚拟IP,若不设置或者设置错误将不做处理,单计算节点可忽略该参数。
参数设置:
server.xml的VIP参数设置为Keepalived的虚拟IP,CheckVIPPeriod为检测周期,单位ms
查看Keepalived的配置脚本:
确定对应IP:
参数作用:
用于计算节点高可用的环境中,在root密码有变更的情况下进行高可用切换时根据VIP存在性的方式进行检测与切换,规避修改密码后无法切换的场景:
主计算节点:
备计算节点:
参数说明:
参数设置:
参数作用:
用于设置启动时是否等待配置库同步追上。默认关闭,启动时若连上主配置库则不等待复制追上,开启开关,当选定的当前配置库配置有复制作为某个实例的从机,且复制存在延迟时的情况下,需要等到当前配置库追上复制,确保当前使用的配置库的数据为最新的数据,才继续启动。
关闭状态:启动时若连上主配置库,则若当前配置库存在延迟的情况下也直接继续启动:
开启的状态下:
需要等到复制同步后才继续启动
参数说明:
参数设置:
参数作用:
用于设置高可用中是否等待从机追上复制。
开启状态:
当从机存在复制延迟时,无法切换到从机上, 计算节点会一直检测,等到复制追平才能进行切换:
日志能够看到提示不再用故障的主存储节点,并且不会启用没有复制同步追上的存储节点:
关闭状态:
当主从存储节点存在复制延迟时,可以直接切换到从机,不再等待复制追上:
注意 计算节点调整了master_delay对切换的影响,waitForSlaveInFailover参数(高可用切换是否等待从机追上复制)开启,当切换时检测到有master_delay的延时设置,会自动在追复制前取消,切换成功后恢复延时复制的设置。若取消master_delay后的复制延迟仍大于10s,则不允许切换,master_delay也会恢复之前设置的值。
参数说明:
参数设置:
参数作用:
启动时是否等待主存储节点同步追上,开启开关,启动计算节点时,等待存储节点复制追平,从而保证存储节点数据一致且为最新。
前提条件:
在主存储节点延迟未同步追上的情况下,启动计算节点会提示当前存储节点复制没有同步追上,需要等到复制追上之后再提供服务。
开启开关:启动计算节点时,等待存储节点主从复制追平,从而保证存储节点数据一致且为最新:
关闭开关:无其他异常,可以直接初始化存储节点
参数说明:
参数设置:
server.xml的weightForSlaveRWSplit参数设置为50:
参数作用:
weightForSlaveRWSplit和strategyForRWSplit参数属于配套参数,读写分离策略为1(可分离的读请求发往所有可用存储节点)时,从机读比例才有意义。若从机延迟超过可读从库阈值的情况下则读主库。
一主一从的情况下:从机的读取比例默认50%
一主多从情况下,例如一主双从,主的读取比例50%,从机A读取比例25%,从机B读取比例25%。
例如:
主库标识:name=Master
备库标识:name=Slave
多次执行select查询操作,主从各读50%。
JDBC版本建议
建议JDBC的版本使用mysql-connector-java-5.1.27.jar,最高可兼容到8.0。
JAVA数据库连接池建议
建议连接池使用proxool-0.9。
log4j的日志类型
若开启了日志记录相关参数仍无法找到该日志类型的记录,例如,开启参数recordDDL却无法查看DDL相关的记录,可检查计算节点安装目录/conf目录下的log4j2.xml下,与"特殊SQL记录在另外一个文件"的相关代码中是否有对应日志类型。
以及"不在hotdb.log中记录特殊SQL"的相关代码中不存在对应日志类型:
Marker所有类型(All Markers):AUTHORITY, BUFFER, CONNECTION, DEADLOCK, EXIT, FAILOVER, HEARTBEAT, HOLD, INIT, INNER, JOIN, MANAGER, ONLINEDDL, RELATIVE, RESPONSE, ROUTE, SQL, SQLSYNTAXERROR, CROSSDNJOIN, UNIOn, SUBQUERY, MYSQLWARNING, MYSQLERROR, HOTDBWARNING, HOTDBERROR, LIMITOFFSETWITHOUTORDERBY, SQLKEYCONFLICT, SQLUNSUPPORTED, DDL, SQLINTERCEPTED, TIMER, TRANSFER, WATCHDOG。
数据库设计的保留字段
计算节点可根据DNID来显示数据来源的数据节点,故DNID为数据库的保留字段(表结构中请勿使用该字段名称)。