四台机子部署tidb

image

请问这个分配合理吗?

感觉资源比较少,tidb也可以设置3个节点吧,3个tidb、tikv、pd

如果是测试环境,你可以试一下
tidb,tikv,pd
tidb,tikv,pd
tidb,tikv,pd,tiflash
监控,tiflash

如果没有海量分析,可以不部署tiflash节点

嗯嗯,资源确实比较少,但是只有这几个

上面说的不错 如果没有海量数据分析 不需要部署tiflash。
不然tiflash和tikv会发生严重的资源竞争问题.
如果是自己玩的话 那限制一下各个组建的内存使用就可以了

测试环境的话,是我我会倾向于这样分:

  • tidb,pd,监控
  • tikv
  • tikv
  • tikv
    这样tidb节点不用分太多存储。
    需要tiflash的话,放tikv节点。

如果考虑高可用:

  • tidb,pd,监控
  • tikv,tidb,pd
  • tikv,tidb,pd
  • tikv,tiflash
    tiflash一般不需要高可用。测试一个副本就行了

大佬,如果一个节点的tidb挂了,怎么自动切换到其他节点,是不是需要配置keepalived去实现高可用?

测试是可以的,如果生产上药这样,这点资源没必要弄tiflash

嗯嗯,好的,谢谢,大佬,问一下,那这个需要不需要做一个keepalived呢?

负载均衡的组件都可以用。haproxy,keepalived之类的,有LB的话也可以

大佬,如果单独把tiflash单独部署一个节点上,这个资源竞争的问题是不是可以解决掉?

那肯定可以了,tiflash最好不要和tikv部署一个节点

负载均衡的组件,比如Nginx、haproxy,之前使用Nginx,Nginx可以配置每一个tidb节点的访问权重

没有海量分析,可以不考虑tiflash

建议都是单独的节点,除非机器配置特别高,不要混合部署

Tiflash可以用一个节点

当然可以的 tifalsh单独部署一台机器最好

这个是生产环境吗 ???

可以考虑通过haproxy连接tidb,这样TiDB server所有节点都能正常被使用。
用keepalived的话,就只能有一个TiDB server对外提供服务了吧,不建议。