各位社区的兄弟,当前我有一台cpu为2路,共 40核心,80线程,内存为256G ,硬盘为4块500G SSD的服务器。
我想在这台机器上部署一个tidb集群,结构如下:
tidb-server:2
pd:3
tikv:3
假如我想让每个 kv 使用20G 内存,8C 的cpu;每个tidb-server 使用16G的内存。
我该如何使用 numactl 来实现呢。官方文档较为精简,希望仁兄不吝赐教。感谢大家。
你是拿来当测试还是生产使用?测试的话,直接单节点部署好了,1tidb 1pd 1tikv(AP有需求再来个tiflash)
pd3个没意义,就留一个,tidb-server也留一个,tikv可以3个放不同硬盘,另外的硬盘装系统和软件,放日志
准备生产环境用的。
cpu资源这些怎么绑定。
生产不做容灾吗?单机的话就单机使用,这样存储成本能降低很多(反正单机挂了整个集群全挂)
当前只有这一台服务器,数据会定时备份,客户并未要求其它容灾机制。
这个我看了,但是这方面知识比较薄弱,所以没太懂。我执行 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留一点,剩下点冗余下
单机吗
是的,单机
可以把物理资源虚拟化后再用来布署
一台服务器,感觉意义不大,还要额外维护虚拟化组件,代价太大了。
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。