Day20
数据复制
Raft是一个一致性的协议
特性:
Leader 的选举
成员变更(例如添加副本、删除副本、转移leader,等等)
日志的复制
TiKV使用Raft进行数据复制。每一次数据变更都将被记录为一个raft log。通过raft log复制,将数据安全可靠地复制到raft组的多个节点。然而,根据Raft协议,成功的写操作只需要将数据复制到大多数节点。
在现有TiKV的4个节点的集群中添加一个新的节点,副本操作过程如下:
TiKV默认是3个副本,首先3个副本会分别存放在已有的4个节点中的3个不同节点中
当探知有新的节点加入时,会将部分region同步至新的节点,确保各个节点的region达到一个平衡
如果在30分钟内,发现新加入节点始终为加入集群,曾会将数据继续均衡到原及群众的不同节点
操作系统和网络的最佳实践
支持的系统
RHEL 7.3及以上版本
Centos 7.3及以上版本
OEL 7.3及以上版本(不支持UEK内核)
Ubuntu LTS 16.4及以上
And so on
OS调优
文件系统挂载参数
Ext4 文件系统挂载
I/O scheduler
关闭 SWAP
Sysctl.conf 里面可以配置
禁用防火墙,或者开启防火墙根据需求开放端口
整个集群服务器时间同步 ntp
Numactl
Tidb user sudo权限
Cpu调整
ofrequency scaling →performance modeo
Numa bounding
Memory
THP-diable
虚拟内存参数
网络的最佳实践
集群间网络
2张或更多网卡 带宽 10G网卡
客户端链接
1 张或更多 1G网卡