在不同主机安装TiDB集群

0    240    2

Tags:

👉 本文共约3898个字,系统预计阅读时间或需15分钟。

其它内容可以参考:

参考:https://docs.pingcap.com/zh/tidb/stable/hardware-and-software-requirements

环境规划

具体配置如下所示:

主机名IP端口主机映射端口作用
lhrpd1172.16.6.112379/238022311PD1
lhrpd2172.16.6.122379/238022312PD2
lhrpd3172.16.6.132379/238022313PD3
lhrtikv1172.16.6.1420160/20180TiKV1
lhrtikv2172.16.6.1520160/20180TiKV2
lhrtikv3172.16.6.1620160/20180TiKV3
lhrtidb1172.16.6.174000/1008024000TiDB1
lhrtidb2172.16.6.184001/1008124001TiDB2
lhrtiflash1172.16.6.21TiFlash1
lhrtiflash2172.16.6.22TiFlash2
lhrticdc1172.16.6.238300TiCDC1
lhrticdc2172.16.6.248300TiCDC2
lhrtidbmonitor172.16.6.259090,3000,9093/909439090,33000,3399,3400Prometheus + Grafana + Alertmanager + 中控机 + HAProxy

环境申请

环境配置

配置NTP

参考:https://docs.pingcap.com/zh/tidb/stable/check-before-deployment#%E6%A3%80%E6%B5%8B%E5%8F%8A%E5%AE%89%E8%A3%85-ntp-%E6%9C%8D%E5%8A%A1

TiDB 是一套分布式数据库系统,需要节点间保证时间的同步,从而确保 ACID 模型的事务线性一致性。目前解决授时的普遍方案是采用 NTP 服务,可以通过互联网中的 pool.ntp.org 授时服务来保证节点的时间同步,也可以使用离线环境自己搭建的 NTP 服务来解决授时。

这里以“172.16.6.25”为时间服务器,其它几台OBServer同步该机器的时间:

修改“172.16.6.25”为时间服务器/etc/ntp.conf

配置开机启动:

其它客户端,修改“/etc/ntp.conf”,注释server开头的行,并添加如下行:

配置开机启动:

客户端配置自动同步:

检查和配置操作系统优化参数

https://docs.pingcap.com/zh/tidb/stable/check-before-deployment#%E6%A3%80%E6%9F%A5%E5%92%8C%E9%85%8D%E7%BD%AE%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%BC%98%E5%8C%96%E5%8F%82%E6%95%B0

在生产系统的 TiDB 中,建议对操作系统进行如下的配置优化:

  1. 关闭透明大页(即 Transparent Huge Pages,缩写为 THP)。数据库的内存访问模式往往是稀疏的而非连续的。当高阶内存碎片化比较严重时,分配 THP 页面会出现较高的延迟。
  2. 将存储介质的 I/O 调度器设置为 noop。对于高速 SSD 存储介质,内核的 I/O 调度操作会导致性能损失。将调度器设置为 noop 后,内核不做任何操作,直接将 I/O 请求下发给硬件,以获取更好的性能。同时,noop 调度器也有较好的普适性。
  3. 为调整 CPU 频率的 cpufreq 模块选用 performance 模式。将 CPU 频率固定在其支持的最高运行频率上,不进行动态调节,可获取最佳的性能。

内核参数修改

所有目标主机都配置:

创建用户及 sudo 免密码

所有目标主机都配置:

设置无密码SSH登陆

可以使用rac上的sshUserSetup.sh快速配置,只在中控机lhrtidbmonitor上运行:

安装集群

参考:https://docs.pingcap.com/zh/tidb/stable/production-deployment-using-tiup

以tidb用户安装:

安装tiup组件

初始化集群拓扑文件

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

修改拓扑文件:

执行部署命令

执行 deploy 命令前,先使用 checkcheck --apply 命令,检查和自动修复集群存在的潜在风险:

然后执行 deploy 命令部署 TiDB 集群:

以上部署命令中:

  • 通过 TiUP cluster 部署的集群名称为 lhrtidb
  • 可以通过执行 tiup list tidb 来查看 TiUP 支持的最新可用版本,后续内容以版本 v5.2.2 为例
  • 初始化配置文件为 topology.yaml
  • --user root:通过 root 用户登录到目标主机完成集群部署,该用户需要有 ssh 到目标机器的权限,并且在目标机器有 sudo 权限。也可以用其他有 ssh 和 sudo 权限的用户完成部署。
  • [-i] 及 [-p]:非必选项,如果已经配置免密登录目标机,则不需填写。否则选择其一即可,[-i] 为可登录到目标机的 root 用户(或 --user 指定的其他用户)的私钥,也可使用 [-p] 交互式输入该用户的密码
  • 如果需要指定在目标机创建的用户组名,可以参考这个例子

预期日志结尾输出会有 Deployed cluster lhrtidb successfully` 关键词,表示部署成功。

部署过程:

校验集群

TiUP 支持管理多个 TiDB 集群,该命令会输出当前通过 TiUP cluster 管理的所有集群信息,包括集群名称、部署用户、版本、密钥信息等:

预期输出包括 lhrtidb 集群中实例 ID、角色、主机、监听端口和状态(由于还未启动,所以状态为 Down/inactive)、目录信息。

mysql客户端

图形监控

提供了几个监控:

dashboard: http://172.16.6.11:2379/dashboard root/空密码
Prometheus: http://172.16.6.25:9090
Grafana: http://172.16.6.25:3000 admin/admin

在不同主机安装TiDB集群

在不同主机安装TiDB集群

在不同主机安装TiDB集群

在不同主机安装TiDB集群

在不同主机安装TiDB集群

配置HAProxy负载均衡

在不同主机安装TiDB集群

巡检

在不同主机安装TiDB集群

DM集群部署

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部