hhdb数据库介绍(6)

集群环境推荐

说明

集群环境要求包含服务器硬件配置、操作系统、软件部署、软件配置四个方面。在部署安装前或安装完成后请检查以下各项是否符合关系集群数据库使用要求,若不满足以下要求可能会给集群的运行带来不可预知的异常以及无法发挥集群的最佳性能。

一级标题 二级标题 三级标题 使用要求
服务器硬件配置 CPU CPU 1个计算节点≥40个逻辑核 1个管理平台≥4个逻辑核 1个存储节点实例≥8个逻辑核(包括存储节点实例与配置库实例) 1个LVS实例≥16个逻辑核(仅限多节点负载均衡模式) 服务器要求:可用逻辑核总数大于服务器已安装程序所需逻辑核数
内存 内存 1个计算节点≥30G 1个管理平台≥2G 1个配置库实例≥3G 一个存储节点实例≥60G 1个LVS实例≥6G(仅限多节点负载均衡模式) 操作系统≥1G 所有的服务器要求:内存数大于已安装程序所需内存数
磁盘空间 磁盘空间 1个计算节点≥100G 1个管理平台≥10G 1个配置库实例≥100G 一个存储节点实例≥1000G 操作系统≥60G 服务器(除多节点负载均衡模式的LVS服务器)磁盘空间要求:总磁盘空间大于已安装程序所需磁盘空间
磁盘IO响应 服务器磁盘IO响应时间 服务器:执行磁盘IO响应检测指令`sar -d |egrep -i '^Average: '
网络质量 服务器网络质量 服务器:执行网络质量检测指令`ping -q -c 100 -s 65000 -i 0.01 被测服务器的IP地址 |awk '{if (index(KaTeX parse error: Can't use function '\)' in math mode at position 16: 3,"transmitted"\̲)̲>0\) \{for \(i=...i,"%")) lost=$i};if (index(KaTeX parse error: Can't use function '\)' in math mode at position 8: 1,"rtt"\̲)̲>0\) \{split\((NF-1),a,"/");avg=a[2];max=a[3]}}END{if (lost!="0%"
服务器属性 服务器非虚拟机 服务器:执行命令:dmesg | grep "Hypervisor detected" 命令执行无报错且无输出
操作系统 SSH连接 服务器SSH连接速度 服务器:建立SSH连接且执行命令:echo HotDB,总耗时小于1秒
可连接外网 服务器可连接外网 建议服务器能正常连接外网:ping通114.114.114.114
服务器DNS配置 服务器配置正确的DNS:ping通www.baidu.com
yum yum 服务器中配置最新的可用yum源
字符集设置 字符集设置 强烈建议设置成UTF8(执行命令echo $LANG,返回结果为en_US.UTF-8,且执行命令echo $LC_ALL,返回结果为en_US.UTF-8或者为空)
时区 时区 要求设置正确时区:执行ls -l /etc/localtime|grep -i shanghai命令有结果输出
时间同步 管理平台服务器与外网时间差异 执行命令:`ntpdate -q ntp.aliyun.com 2>/dev/null|tail -1
集群服务器与管理平台服务器时间差异 其他服务器与管理平台服务器时间差异小于2秒
防火墙 防火墙 设置关闭
selinux selinux 设置关闭
limits.conf 服务器文件句柄数 执行su 用户名 -c 'ulimit -n',返回结果大于65534
服务器线程数 执行su mysql -c 'ulimit -u',返回结果大于1023(特指安装实例的服务器)
sysctl.conf net.core.netdev_max_backlog 参数设置大于4095
net.ipv4.ip_local_port_range 执行sysctl net.ipv4.ip_local_port_range,返回第二个数字减第一个数字大于40000,且两个数字加起来是奇数
net.core.somaxconn net.ipv4.tcp_max_syn_backlog net.core.somaxconn>1000且net.ipv4.tcp_max_syn_backlog>1000
net.ipv4.tcp_sack net.ipv4.tcp_fack net.ipv4.tcp_dsack net.ipv4.tcp_early_retrans 四个参数值都为0
net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_time小于601 大于9
net.ipv4.tcp_keepalive_probes 小于 6 大于1
net.ipv4.tcp_keepalive_intvl net.ipv4.tcp_keepalive_intvl 小于 61 大于1
net.ipv4.tcp_tw_recycle net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse net.ipv4.tcp_tw_reuse=1
vm.min_free_kbytes vm.min_free_kbytes>10240
vm.swappiness vm.swappiness=1
tune tune部署与执行 计算节点服务器要求部署tune且正常执行
定时调度 状态与开启自启 服务器开启定时调度且设置开机自启动
软件部署 JDK版本 JDK版本 要求计算节点服务器JDK版本为1.7.0_80且所有计算节点服务器JDK版本一致
MySQL MySQL版本 各服务器安装的MySQL版本要求一致
mysqld环境 各服务器安装的mysqld环境一致
MySQL服务端开机自启动 要求安装了MySQL实例的服务器设置MySQL服务端开机自启动
备份程序 备份程序状态 存储节点服务器:备份程序已安装且正常运行
软件配置 MySQL连接 MySQL连接耗时 安装MySQL的服务器:连接MySQL实例并执行select 1总耗时小于1秒
存储节点配置参数(my.cnf) autocommit 集群所有实例该参数要求设置成一致
back_log 设置大于500
binlog_cache_size 设置大于65535小于8388609
binlog_format 设置非STATEMENT
character_set_server 集群所有实例该参数设置相同且在latin1、gbk、utf8、utf8mb4范围内
character_set_database 所有实例:character_set_database参数值、show create database xxx出来的字符集、character_set_server参数值、配置库表中配置的character_type参数值四个结果值一致
collation_server 所有实例:该参数设置相同值且在latin1_swedish_ci、latin1_bin、 gbk_chinese_ci、gbk_bin 、utf8_general_ci、utf8_bin、 utf8mb4_general_ci、utf8mb4_bin范围内
collation_database 所有实例:collation_database与collation_server 参数值一致
completion_type 参数值为NO_CHAIN
div_precision_increment 所有实例该参数设置一致
expire_logs_days 该参数大于1小于30
explicit_defaults_for_timestamp 所有实例该参数设置一致
general_log 该参数设置为OFF
group_concat_max_len 该参数设置大于65535小于67108865
innodb_buffer_pool_size 所有实例:该参数大于34359738367且该服务器中所有MySQL实例的该参数值相加小于所在服务器总内存的80%
innodb_doublewrite 所有实例该参数设置为ON
innodb_flush_log_at_trx_commit 建议该参数设置为2并使用半同步复制或MGR
innodb_flush_method 建议该参数设置为O_DIRECT
innodb_io_capacity 该参数设置大于99小于10001
innodb_large_prefix 建议该参数设置为ON
innodb_log_file_size 该参数大于4294967295小于68719476737或者大于innodb_buffer_pool_size/8小于innodb_buffer_pool_size/2
innodb_open_files 该参数设置大于1000
innodb_rollback_on_timeout 该参数设置为ON
innodb_support_xa 该参数设置为ON
interactive_timeout 所有实例:该参数大于配置库中配置的house_keeping_sleep_time字段值
join_buffer_size 该参数大于1048575小于67108865
log_bin 该参数设置为ON
long_query_time 所有实例该参数配置一致
lower_case_table_names 该参数设置为1
max_connect_errors 该参数大于1000
max_connections 该参数大于配置库中配置的存储节点max_con字段值
open_files_limit 该参数大于10000
optimizer_switch 该参数中含有loosecan=off
query_cache_type 该参数设置为OFF
read_buffer_size 该参数大于262143小于67108865
read_only 主配置库与所有主存储节点实例上设置不为ON
read_rnd_buffer_size 该参数大于524287小于67108865
rpl_semi_sync_master_enabled 若有该参数则要求设置为ON
rpl_semi_sync_slave_enabled 若有该参数则要求设置为ON
server_id 所有实例该参数不一致
server_uuid 所有实例该参数不一致
skip_name_resolve 建议该参数设置为ON
slave_skip_errors 该参数设置为OFF
slow_query_log 该参数设置为ON
sort_buffer_size 该参数大于1048575小于67108865
sql_mode 该参数不含ONLY_FULL_GROUP_BY
sync_binlog 该参数大于2(建议:所有实例sync_binlog参数设置值为10并使用半同步复制或MGR)
system_time_zone 该参数配置一致
table_open_cache 该参数大于4000小于open_files_limit参数值
thread_cache_size 该参数大于64小于1024
time_zone 所有实例该参数配置一致
tmp_table_size 该参数大于262143小于1073741825
tx_isolation 所有实例该参数配置一致
version 所有实例该参数值一致
version_comment 建议该参数为MySQL Community Server (GPL)
wait_timeout 该参数大于配置库中配置的存储节点house_keeping_sleep_time参数值
rpl_semi_sync_master_status 若有该参数且配有从机则要求该参数为ON状态
rpl_semi_sync_slave_status 若有该参数且配有主机则要求该参数为ON状态
sysdate-is-now 5.5版本及以下实例使用:select sysdate(),sleep(1),sysdate();5.5版本以上使用select sysdate(6),sleep(0.001),sysdate(6);测试要求两列时间相同
实例磁盘空间 实例数据目录绝对路径 所有实例:执行show global variables like 'datadir';命令返回结果为绝对路径
实例数据目录剩余磁盘空间 所有实例数据目录剩余磁盘空间大于200G
软件配置 实例磁盘空间 实例数据目录绝对路径 所有实例:执行show global variables like 'datadir';命令返回结果为绝对路径
实例数据目录剩余磁盘空间 所有实例数据目录剩余磁盘空间大于200G
高可用 高可用正确配置 同数据节点下的存储节点或一组配置库满足任一条件: ①使用了双1部署(sync_binlog=1且innodb_flush_log_at_trx_commit=1)且没有配置任何切换规则; ②有主从\双主\双主多从架构且开启了半同步,且复制运行正常且配置了切换规则; ③mgr架构且复制运行正常且online状态成员数大于2(不含2)
高可用过度配置 undefined同数据节点下的存储节点或一组配置库不为以下任一一种情况: ①使用双1部署(sync_binlog=1且innodb_flush_log_at_trx_commit=1)且配置了切换规则且开启了半同步复制; ②使用MGR复制且使用双1部署(sync_binlog=1且innodb_flush_log_at_trx_commit=1)
用户权限 复制用户权限 具有复制关系的配置库或存储节点实例:复制用户权限不低于(replication slave,replication client)
配置库用户权限 配置库:连接用户权限不低于(select,insert,update,delete,create,drop,index,alter,create temporary tables,references,super,reload,lock tables,replication slave,replication client)
存储节点连接用户 存储节点:连接用户权限不低于(select,insert,update,delete,create,drop,index,alter,process,references,super,reload,lock tables,replication slave,replication client,trigger,show view,create view,create routine,alter routine,execute,event) 注意:8.0及以上版本的存储节点连接用户还需拥有xa_recover_admin权限
存储节点备份用户 存储节点:备份用户权限不低于(select,insert,update,delete,create,drop,index,alter,reload,process,references,super,lock tables,replication slave,replication client,trigger,show view,create view,create routine,alter routine,event)
计算节点高可用 计算节点模式 计算节点模式为主备或多节点模式且管理平台正常获取计算节点所在IP地址、VIP、计算节点角色
计算节点服务端口与管理端口正常可连接 各计算节点服务端口(主备模式备计算节点除外)与管理端口正常可连接
VIP连接计算节点服务端口正常 主备模式或多节点模式集群可通过VIP正常连接计算节点服务端口
计算节点参数配置(server.xml) server.xml配置文件路径 管理平台配置的server.xml路径与hotdb-server报告的路径一致,且管理平台有读写权限
server.xml中配置库IP地址 使用真实IP地址非127.0.0.1
processors 要求配置参数大于等于服务器逻辑核数/8 小于等于逻辑核数
processorExecutor 参数小于9
enableHeartbeat 参数为true
heartbeatPeriod 参数小于11秒大于heartbeatTimeoutMs且各计算节点配置一致
heartbeatTimeoutMs 参数小于5000且各计算节点配置一致
enableLatencyCheck 参数为true且各计算节点配置一致
sqlTimeout 参数小于86400且各计算节点配置一致
haNodeHost(仅限主备模式) 当前备计算节点该参数正确配置了当前主计算节点的IP和管理端口
enableXA(仅限主备或多节点模式) 各计算节点配置一致
strategyForRWSplit 各计算节点配置一致
计算节点启动脚本 -Xms ,-Xmx 要求两个参数值一致且集群所有计算节点这两个参数一致
-Xmx 该参数大于等于1G小于等于256G 该参数大于等于8G时开启G1
MaxDirectMemorySize 该参数大于4G
监听端口 计算节点:服务端口、管理端口、集群通信端口(仅限多节点模式) 端口号范围:大于1024小于服务器上sysctl net.ipv4.ip_local_port_range查出来的第一个数字的数值
备份程序:监听端口
存储节点实例、配置库实例:监听端口
管理平台:服务端口(若开启https,还需要https监听端口)
监听程序: 监听端口
NDB:接收NDB 管理节点IP地址和端口、NDB SQL节点IP地址和端口
计算节点配置库 配置校验 通过配置校验检测
主备或MGR配置库数据一致性 各配置库实例表数量、表结构、表数据一致
主备配置库复制状态正常 复制状态正常且复制延迟小于1s
相关推荐
不二人生2 分钟前
SQL面试题——飞猪SQL面试 重点用户
数据库·sql·面试
Ada大侦探7 分钟前
新手小白学习docker第六弹------Docker常规安装(安装tomcat、mysql、redis)
mysql·docker·tomcat
小新_-20 分钟前
第五章:存储过程和触发器
数据库
gsls20080823 分钟前
小型kv数据库leveldb配合grpc实现网络访问
数据库·grpc·leveldb
大王只是带我巡了个山1 小时前
02-1_MVCC版本链清理
数据库·mysql·mvcc·多版本·并发机制·版本链管理·mvcc 版本链管理
一只专注api接口开发的技术猿1 小时前
python 京东api怎么写
大数据·开发语言·数据库·python
Evan Wang1 小时前
MySQL Shell教程
数据库·mysql
nbsaas-boot1 小时前
AI 扩展开发者思维方式:以 SQL 查询优化为例
数据库·sql
Python大数据分析@1 小时前
为什么用SQL而不是Excel+VBA?
数据库·sql·excel
一条小小yu2 小时前
高频 SQL 50 题(基础版)连接部分
数据库·sql