麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
727
2023-11-24
前言:在上一篇文章中我们记录了在同城双机房私用公网进行搭建TIDB集群的操作步骤,详见https://tidb.net/blog/3e68a790。由于最近出现的某云故障问题,为了追求高可用的数据库集群,所以我们需要组建一个混合云。
本文记述通过公网环境扩容***ECS节点,组建混合云的TIDB集群操作步骤,组建完成的混合云架构为无锡江阴IDC节点1+无锡惠山IDC节点2+***杭州节点3,通过云服务器+IDC服务器形成高可用的数据库集群,本文是基于测试实现,真正的架构是无锡江阴IDC节点1*2+无锡惠山IDC节点2*2+***杭州节点3*3,形成7个PD,7个tidb-server,7个tikv的生产部署节点。
购买云服务器后,在安全组中放行集群其他服务器的网络,本文为了快速测试,所以全部放行了集群其他服务器的ip,生产中建议只放行对应端口
安全组策略如下
新增***ECS为节点4,原集群节点2准备在完成扩容后进行缩容
服务器公网ipssh端口-外pd端口外pd端口外tikv端口外tikv端口外tidb端口外tidb端口外告警告警监控grafana原集群-外网地址部署PD、TIDB、TIKVserver158.214.27.A20122123791238010160101801400010080部署PD、TIDB、TIKVserver2218.90.180.B20222223792238020160201802400020080部署PD、TIDB、TIKV、ALERT、MONITORserver3121.235.65.C203223237932380301603018034000300809093909490903000新增节点部署PD、TIDB、TIKVserver4116.62.208.D22423794238040160401804400040080服务器内网ipssh端口-内pd端口内pd端口内tikv端口内tikv端口内tidb端口内tidb端口内告警告警监控grafana原集群-内网地址部署PD、TIDB、TIKVserver1192.168.30.20122123791238010160101801400010080部署PD、TIDB、TIKVserver2192.168.30.20222223792238020160201802400020080部署PD、TIDB、TIKV、ALERT、MONITORserver3192.168.0.203223237932380301603018034000300809093909490903000新增节点部署PD、TIDB、TIKVserver4172.16.0.18822423794238040160401804400040080
扩容完成后发现有个PD节点是DOWN的状态,这是因为PD只能是奇数个节点,不允许出现偶数个节点。由于即将卸载一个PD节点,所以本问题忽略
在控制面板上查看tidb集群的节点状态
基于成本考虑,本环境为为无锡江阴IDC节点1+无锡惠山IDC节点2+***杭州节点3,所以缩容江阴IDC节点2
执行缩容命令
tiup cluster scale-in qzn --node 116.62.208.B:42379缩容后查看状态,状态为DOWN的节点消失
为了保证正常的使用,我们测试各节点的连接(***节点需要在安全组放行tidb-server的端口44000)
经过测试,我们可以通过3个节点的任意一个IP地址连接使用数据库,部署的代码也可以通过内网IP在局域网环境下连接数据库。在此模式下,我们可以将代码分散的部署在各个机房,实现服务的主备部署,在保障数据库高可用的同时也可以保障业务系统的高可用,从而实现系统容灾。
总结:在生产环境中,我们准备使用IDC节点1*2+IDC节点2*2+云服务节点3*3,形成7个PD+7个tidb-server+7个tikv的生产部署节点,每个节点都可以实现高可用。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。