《kudu官网笔记》6.kudu后台的维护任务

不生产博客,只是官网的搬运工

https://docs.cloudera.com/documentation/enterprise/5-16-x/topics/kudu_background_tasks.html

kudu依赖很多后台任务来完成重要的任务,包括flush数据到磁盘,compact数据,释放磁盘空间等等

maintenance manager

这个服务调度并且运行任务,在任意时刻,这个服务会根据当前环境来决定下一个任务的优先级,例如减轻内存压力,提升scan性能,释放磁盘空间。可以通过修改配置参数maintenance_manager_num_threads来控制后台任务的线程数

kudu1.4,该服务的功能是提高配置线程数的利用率,之前,每秒最多安排4次维护的任务,但是现在只要有可用的线程,维护任务将立即执行,

Make sure that the --maintenance_manager_num_threads property is set to 
at most a 1:3 ratio for Maintenance Manager threads to the number of data 
directories (for spinning disks). This will improve the throughput of 
write-heavy workloads.

确保这个线程数被设置与数据目录数比例最大为1:3(数据目录数?tablet指定了一个data和wal,难道是一个节点算一个目录吗?),这将提高写的吞吐量

flush数据到磁盘

将数据从内存刷到磁盘减轻内存的压力,提高读性能通过MemRowSet 行存,写的快,diskRowSet列存,读的快

后台刷数据的任务包括FlushMRSOp和FlushDeltaMemStoresOp,与这两个操作有关的指标有flush_mrs和flush_dms

With Kudu 1.4, the maintenance manager aggressively schedules flushes of 
in-memory data when memory consumption crosses 60 percent of the configured 
process-wide memory limit. The backpressure mechanism which begins to 
throttle client writes was also adjusted to not begin throttling until 
memory consumption reaches 80 percent of the configured limit. These two 
changes together result in improved write throughput, more consistent 
latency, and fewer timeouts due to memory exhaustion.

 

比较重要,贴原文

使用kudu1.4,该服务调度刷盘任务当占到已配置内存的60%(已配置的是静态资源池吗),背压机制开始限制客户端的写入速度当内存超过80%,这两参数改变将提高写效率,更一致的延迟?,更少的超时,尴尬,从cdh找了找没发现flush相关的配置

 

compact磁盘的数据

kudu不断的执行一些compact任务为了保持读写性能(小文件过多会影响scan性能)

将多个DiskRowSets合并成一个DiskRowSets,由CompactRowSetsOp负责

kudu也运行两种类型的delta合并,MinorDeltaCompactionOp和MajorDeltaCompactionOp,对于更多信息可以去github看kudu的设计文档

预写log 辣鸡回收

kudu为每个tablet维护一个wal,被切成d大小固定的segments,tablet将定期roll出新的wal log段当达到一定大小时(大小由--log_segment_size_mb决定),搜了下,cdh6.0,参数已经改了吗

使max_log_size,意思也是roll新Log前旧log的大小

为了节省磁盘空间,减少启动时间,后台任务LogGCOp尝试gc老的log(不需要它来保证数据持久性,因为数据已经持久存储了)

历史tablet gc

kudu使用mvcc机制来确保快照scan可以与新的dml隔离,因此,应该对老的历史数据进行gc来释放磁盘空间,kudu不会删除最新最新版本的row、数据,但会删除不再可见的历史数据

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值