生产环境计划部署方案,大家给点建议

【 TiDB 使用环境】生产环境
【 TiDB 版本】V7.1.2
生产环境准备了3台物理机
每台服务器54C/128G/2NUMA Node
计划资源分配:
TIDB:20C/48G
PD:8C/16G
TIKV:20C/54G
TIFLASH:24C/54G
Monitoring:4C/8G
Grafana:4C/8G

各实例数量
TIDB:2个
PD:3个
TIKV:3个
TIFLASH:1个
Monitoring:1个
Grafana:1个

采用3台混合部署使用numa+cgroup
部署图:

拓扑文件:

# 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: “tidb”
ssh_port: 22
deploy_dir: “/home/tidb/tidb-deploy”
data_dir: “/home/tidb/tidb-data”

monitored:
node_exporter_port: 9100
blackbox_exporter_port: 9115

server_configs:
tidb:
log.slow-threshold: 300
binlog.enable: false
binlog.ignore-error: false
performance.max-procs: 20
tikv:
readpool.storage.use-unified-pool: false
readpool.coprocessor.use-unified-pool: true
pd:
schedule.leader-schedule-limit: 4
schedule.region-schedule-limit: 2048
schedule.replica-schedule-limit: 64

pd_servers:

  • host: 192.168.0.1
    resource_control:
    memory_limit: “16G”
    cpu_quota: “800%”

  • host: 192.168.0.2
    resource_control:
    memory_limit: “16G”
    cpu_quota: “800%”

  • host: 192.168.0.3
    resource_control:
    memory_limit: “16G”
    cpu_quota: “800%”

tidb_servers:

  • host: 192.168.0.1
    numa_node: “0”
    resource_control:
    memory_limit: “48G”
    cpu_quota: “2000%”

  • host: 192.168.0.2
    numa_node: “0”
    resource_control:
    memory_limit: “48G”
    cpu_quota: “2000%”

tikv_servers:

  • host: 192.168.0.1
    numa_node: “1”
    resource_control:
    memory_limit: “54G”
    cpu_quota: “2000%”

  • host: 192.168.0.2
    numa_node: “1”
    resource_control:
    memory_limit: “54G”
    cpu_quota: “2000%”

  • host: 192.168.0.3
    numa_node: “1”
    resource_control:
    memory_limit: “54G”
    cpu_quota: “2000%”

tiflash_servers:

  • host: 192.168.0.3
    numa_node: “0”
    resource_control:
    memory_limit: “56G”
    cpu_quota: “2400%”

monitoring_servers:

  • host: 192.168.0.1
    numa_node: “0”
    resource_control:
    memory_limit: “8G”
    cpu_quota: “400%”

grafana_servers:

  • host: 192.168.0.2
    numa_node: “0”
    resource_control:
    memory_limit: “8G”
    cpu_quota: “400%”
    各位大神看看规划是否合理,有没有什么优化和调整的建议。谢谢

可以看看 三节点混合部署最佳实践 | PingCAP 文档中心

生产环境其实不太建议混合部署(除非你对自己的运维能力比较自信)

因为可能会出现资源抢占的问题

tilflash最好能拆除去

混布的情况下,建议去掉tiflash节点,意义不大。还容易拖垮节点服务器上的tikv节点。

tiflash最好单独部署,如果能再来一台机器就好了

那完了,彻底不自信了。本身就是入门菜鸟。

那我可以先撤掉tiflash。等后期业务量上来了,再加机器扩一个tiflash吗?

1 个赞

都单独部署吧,混布一时爽,出事火葬场

1 个赞

用虚拟机咋样

如果后期业务量上来了需要上tiflash,到时以现在的配置多半是不够的。混合部署可能只适合小规模且增长不大的业务,后期的承载量如果都在可控范围内,我觉得是混合部署问题是不大的。
前期做好规划,以后会省很多事。

你这个混部的有点严重

不建议混合部署,出现问题不好排查,资源不够尽量搞个单节点的算了

tiflash独立出来部署

建议tikv部署在这3台物理机上,每台机器按照每个kv64g内存起2个kv节点一共可以起6个kv。然后在申请点虚拟机部署tidb和pd。刚开始tiflash用处不大。

生产环境用三台物理机太少了吧

没错,生产环境还是单独部署的好,问题好排查,性能也好

入门更需要单独部署啊,非常熟练的时候再混合部署,出问题也知道怎么排查

可以,有需要tiflash后期再扩就可以了

一台也能做,就是出现问题,有点头疼,我建议就是起码tikv和tidb分开