【活动】第五期直播教程学习笔记分享贴

帮群内 晨曦 同学提问:

请问2-2-2架构的ob,在zone1坏掉1 台observer,他会自动迁移unit到好的ob上吗

3-3-3 的环境 ,一个资源池,一个租户。cpu内存都给这个租户使用。  unitnumber是要设置为3吗  unit unmber的配置的值一定要完全等于zone下observer的数量吗

线上的环境有没借助Prometheus动态轮转合并租户的资源?

rs在zone里就跑在一个observer上吗?这个observer故障了 怎么恢复?

对于一个非软件专业的人来说过认证很难,立个flag,明年过认证!

按正常配置就可以了吧,超卖也是手工配置的

workers_per_cpu_quota

cpu_quota_concurrency

通过调整这两参数能禁止CPU超卖吗?

同学是不是走错频道啦!立Flag 是在另外一个帖子下面哟~~

https://open.oceanbase.com/answer/detail?id=20400053&sou=0a001

磁盘不隔离,租户间隔离性就差了,一个租户恶意写入大量数据会把整个集群搞挂

1-1-1  每个obs 10c/10G   计算资源就是30c/30G是吧 ,一个租户的情况下

大佬辛苦。晚安!

刚刚装完的ob集群,没有业务使用,使用top看observer进程占用cpu就达到200%左右,能降低observer进程占用cpu吗?

在蚂蚁内部也有同样的情况,大概经过了几个发展阶段:

1)整理一些常用的SQL,例如查看所有租户的资源配额、例如查看SQL Audit表中按照SQL ID做聚合后的资源消耗、例如查看所有资源的内存消耗及增长率,这对于每个DBA来说都是最基本的,可以帮助自己去理解OB架构和参数,及调优

2)整理出一些脚本,例如shell、python,可以一览所有租户的部署架构(region-zone-observer的关系)、unit分布(observer-unit)、资源配置(unit维度的内存和cpu)。这里可以看成是白屏化的萌芽

3)开发产品支持白屏化操作,例如 unit view、及在这个基础上的unit迁移、调整资源,例如 SQL view,显示SQL id维度的资源消耗,及这这个基础上的智能化分析、outline绑定。这里就是用工程化的思路去解决问题,并经历完整的系统-》产品-》商品(开源),是DBA职责的升华,也为自己打开了另一种职业可能性


Q1:这个问题有很多细节不够明确,例如unit_num=2,是否采用了分区表,例如 server1和server2是否同zone,所以不太好回答。建议描述目的是什么,想要达到什么样的效果

Q2:租户之间通过线程隔离,具体可以参考  https://open.oceanbase.com/blog/8600134    。当然,新版也在做 cgroup 隔离,具体可以确认一下release note

生产的DB Server,无论是使用何种数据库,内存都不会这么小吧,非常影响性能和稳定性哦,例如 swap、例如 oom

当然需要各种白屏化系统啊,DBA&&SRE的工作范畴就是 稳定性、成本、效率 啊,只要用在生产,那就必须有一整套工具平台体系

每个zone上的unit规格不一定需要对等,绑定不同的resource pool就可以了,例如primary zone的第一个zone 和 第二个zone高资源,用于宕机或者日常轮转合并,其他zone资源可以稍低

忘记集群部署吧(1-1-1,2-2-2)之类的吧

从副本角度去考虑问题,每个租户都有一个 locality参数,描述了该租户的副本分布及副本类型,除了R副本不参与Paxos投票,F副本和L副本都参与Paxos投票,其副本之和的少数派发生宕机都不会停止服务,例如3个全副本,可以容忍1个副本异常。例如5个全副本,可以容忍2个副本异常

cpu、内存、磁盘数据量 的三元组,3个变量的负载均衡还是相当难的

目前内核没有自动扩缩容功能,可以用外部工具来支持