Druid任务分配策略配置详解

[attach]1466[/attach] 在说任务配置策略之前,先给大家看一下druid任务处理的大概架构图 [attach]1467[/attach] 如上图可以看出overlord节点如何将任务分配到middlemanager节点进行处理,如果在架构中有多个middlemanager节点,那任务将怎么分配呢,分配的测试是什么?   默认策略是fillCapacity, 意思是当一个MiddleManager的worker capacity满了的时候,再有任务到来时,才会分配给另外的MiddleManager节点。   补充: middlemanager的capacity意思是,能容纳任务的数量,通过修改middleManager节点下的 runtime.properties配置文件里的druid.worker.capacity属性配置。  [attach]1468[/attach] 那么,除了这个策略,还有其他策略吗?另外,这个策略如何修改呢? 除了这个策略,还有fillCapacityWithAffinity, equalDistribution and javascript策略,那么策略如何修改呢?    通过向Overlord节点发送个一个HTTP请求来修改,实质上是修改保存druid元数据的数据库,即 MetadataStorage,修改步骤如下: 
http://10.1.3.9:8090/druid/indexer/v1/worker(http://: /druid/indexer/v1/worke
X-Druid-Author sdx(修改配置的作者,可以随意写) X-Druid-Comment equal policy(修改配置的注释,可以随意写) Content-Type application/json
[attach]1469[/attach]
http://10.1.3.9:8090/druid/indexer/v1/worker(http://: /druid/indexer/v1/worker)
{
"selectStrategy": {
"type": "equalDistribution" }
}
[attach]1470[/attach] 通过访问http://10.1.3.9:8090/druid/indexer/v1/worker/history查看配置是否成功  [attach]1471[/attach] 或者通过查看MetadataStorage的druid_conifg和druid_audit表查看是否配置成功    注意: linux上通过如下指令配置:
curl -XPOST -H 'X-Druid-Author: lucky' -H 'X-Druid-Comment: lucky' -H 'Content-Type: application/json' http://10.1.3.9:8090/druid/indexer/v1/worker -d '{ "selectStrategy": { "type": "equalDistribution" } }'
更多内容请参考官网:http://druid.io/docs/0.9.1.1/configuration/indexing-service.html

2 个评论

排版还行,辛苦兄弟!
这个文章也不错,可以参考一些内容学习: https://fangyeqing.github.io/2016/10/29/druid.io%E5%AE%9E%E8%B7%B51---%E6%9F%A5%E8%AF%A2%E9%80%9F%E5%BA%A6%E4%BC%98%E5%8C%96/

要回复文章请先登录注册