单台服务器混合部署集群

各位社区的兄弟,当前我有一台cpu为2路,共 40核心,80线程,内存为256G ,硬盘为4块500G SSD的服务器。
我想在这台机器上部署一个tidb集群,结构如下:
tidb-server:2
pd:3
tikv:3
假如我想让每个 kv 使用20G 内存,8C 的cpu;每个tidb-server 使用16G的内存。
我该如何使用 numactl 来实现呢。官方文档较为精简,希望仁兄不吝赐教。感谢大家。

:upside_down_face: 你是拿来当测试还是生产使用?测试的话,直接单节点部署好了,1tidb 1pd 1tikv(AP有需求再来个tiflash)

pd3个没意义,就留一个,tidb-server也留一个,tikv可以3个放不同硬盘,另外的硬盘装系统和软件,放日志

准备生产环境用的。

cpu资源这些怎么绑定。

生产不做容灾吗?单机的话就单机使用,这样存储成本能降低很多(反正单机挂了整个集群全挂)

当前只有这一台服务器,数据会定时备份,客户并未要求其它容灾机制。

看下这个文档,

https://docs.pingcap.com/zh/tidb/stable/tiup-cluster-topology-reference

搜下 【 numa_node

这个我看了,但是这方面知识比较薄弱,所以没太懂。我执行 numactl --hardware 的时候结果如下,那我不是在配置文件里直接写 numa_node: “0” 或者 1 就行,其它的我就不用管了。

先不用绑定,通过内存参数控制好内存使用,看看效果

好的。干就完了。

先1pd,1tidb-server,3tikv用吧,storage.block-cache.capacity先设置成25G,tidb_server_memory_limit改成40G,numa只有2个node,想绑定也能绑定(例如把tidb-server和pd绑定到0上,tikv三个节点绑定到1上),但是意义不大。。。

好的。感谢。就这么整。

请教大佬,内存分配有什么原则吗,服务器总内存为256G。
3个TIKV 3*25 75G
1个TIDB 40G

服务器还剩余100多G内存,怎么上面的不多分些?

storage.block-cache.capacity设置成25G,单个tikv最多能用到55G,3个就165G了,给tidb再分40G,再给pd留一点,剩下点冗余下

单机吗

是的,单机

可以把物理资源虚拟化后再用来布署

一台服务器,感觉意义不大,还要额外维护虚拟化组件,代价太大了。