索引服务由三个主要组件:一个是peon 组件,可以运行一个任务,一个是Middle Managers组件,管理peons,和一个overlord 组件管理任务分发给Middle Managers。 overlord 和Middle Managers 可以在一台服务器上,也可以在不同的服务器。而Middle Managers 和peons 一般在同一台服务器中。
Indexing Service 流程图
Overlord 服务
Overlord 节点负责接受任务,协调分配任务,创建任务创建锁,状态返回给调用者。Overlord 可以配置为运行在两种模式之一——本地或远程(本地默认)。在本地模式下Overlord 也负责创建peons 执行任务。当Overlord 在本地模式下运行,所有Middle Managers和peon配置必须提供。本地模式通常用于简单的工作流。在远程模式下,Overlord 和Middle Managers都运行在单独的进程,可以不同的服务器上运行。如果你打算使用单个indexing service作为所有Druid服务的索引,推荐这种模式。
提交任务和查询任务状态
提交任务,任务以json格式提交到overlord,请求方式为POST.返回提交任务的id taskid。
http://<OVERLORD_IP>:<port>/druid/indexer/v1/task
取消任务,请求方式为POST ,发送请求后会kill –9 这个任务。
http://<OVERLORD_IP>:<port>/druid/indexer/v1/task/{taskId}/shutdown
查看任务,请求方式为GET
http://<OVERLORD_IP>:<port>/druid/indexer/v1/task/{taskId}/segments
overlord 控制台
Overlord控制台可用于查看等待任务,运行任务,最近可用的任务,任务的创建和终止
http://<OVERLORD_IP>:<port>/console.html
Middle Managers
http://druid.io/docs/0.6.145/Middlemanager.html
Peons
See Peon.
Tasks
See Tasks.