写点什么

同城双机房公网 + 阿里云 ECS 搭建混合云 TIDB 集群

  • 2023-11-17
    北京
  • 本文字数:1491 字

    阅读完需:约 5 分钟

作者: Fly-bird 原文来源:https://tidb.net/blog/54f88fc1


 前言:在上一篇文章中我们记录了在同城双机房私用公网进行搭建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的生产部署节点。
复制代码

一、新增阿里云 ECS 服务器节点

 购买云服务器后,在安全组中放行集群其他服务器的网络,本文为了快速测试,所以全部放行了集群其他服务器的ip,生产中建议只放行对应端口
复制代码



 安全组策略如下
复制代码


二、计划扩容后的服务器分布

 新增阿里云ECS为节点4,原集群节点2准备在完成扩容后进行缩容
复制代码


三、编辑扩容文件

# # Global variables are applied to all deployments and used as the default value of# # the deployments if a specific deployment value is missing.global:  user: "tsp-tidb"  ssh_port: 22  deploy_dir: "/data/tidb-deploy"  data_dir: "/data/tidb-data"
# # Monitored variables are applied to all the machines.#monitored:# node_exporter_port: 9100# blackbox_exporter_port: 9115
pd_servers: - host: 116.62.208.D ssh_port: 22 name: "pd-4" client_port: 42379 peer_port: 42380 deploy_dir: "/data/tidb-deploy/pd-42379" data_dir: "/data/tidb-data/pd-42379" log_dir: "/data/tidb-deploy/pd-42379/log"tidb_servers: - host: 116.62.208.D ssh_port: 22 port: 44000 status_port: 40080 deploy_dir: "/data/tidb-deploy/tidb-44000" log_dir: "/data/tidb-deploy/tidb-44000/log" config: log.slow-query-file: /data/tidb-slow-overwrited.logtikv_servers: - host: 116.62.208.D ssh_port: 22 port: 40160 status_port: 40180 deploy_dir: "/data/tidb-deploy/tikv-40160" data_dir: "/data/tidb-data/tikv-40160" log_dir: "/data/tidb-deploy/tikv-40160/log"
复制代码

四、执行扩容

tiup cluster scale-out qzn scale-out.yaml
复制代码



扩容完成后发现有个 PD 节点是 DOWN 的状态,这是因为 PD 只能是奇数个节点,不允许出现偶数个节点。由于即将卸载一个 PD 节点,所以本问题忽略


 在控制面板上查看tidb集群的节点状态
复制代码


五、缩容

 基于成本考虑,本环境为为无锡江阴IDC节点1+无锡惠山IDC节点2+阿里云杭州节点3,所以缩容江阴IDC节点2
复制代码


执行缩容命令


tiup cluster scale-in qzn --node 116.62.208.B:42379
复制代码


 缩容后查看状态,状态为DOWN的节点消失
复制代码


六、测试 sql 连接

 为了保证正常的使用,我们测试各节点的连接(阿里云节点需要在安全组放行tidb-server的端口44000)
复制代码




七、至此我们就完成了 TIDB 集群的混合云部署

   经过测试,我们可以通过3个节点的任意一个IP地址连接使用数据库,部署的代码也可以通过内网IP在局域网环境下连接数据库。在此模式下,我们可以将代码分散的部署在各个机房,实现服务的主备部署,在保障数据库高可用的同时也可以保障业务系统的高可用,从而实现系统容灾。
复制代码


总结: 在生产环境中,我们准备使用 IDC 节点 1*2+IDC 节点 2*2+ 云服务节点 3*3,形成 7 个 PD+7 个 tidb-server+7 个 tikv 的生产部署节点,每个节点都可以实现高可用。


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021-12-15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
同城双机房公网+阿里云ECS搭建混合云TIDB集群_数据库架构设计_TiDB 社区干货传送门_InfoQ写作社区