美文网首页Druid
Druid--Druid中Indexer Process

Druid--Druid中Indexer Process

作者: 李小李的路 | 来源:发表于2020-02-28 14:52 被阅读0次
    • 基于apache-druid-0.17
    • Attention:Indexer是一个可选的实验性特性。它的内存管理系统仍在开发中,并将在以后的版本中得到显著增强。
    • Apache Druid Indexer进程是 MiddleManager + Peon任务执行系统的替代方案。Indexer不是为每个任务创建单独的JVM进程,而是在单个JVM进程中作为单独的线程运行任务。
    • 与MiddleManager + Peon系统相比,Indexer设计得更易于配置和部署,并更好地支持任务间的资源共享。
    • 配置文件和api接口详见官方文档。

    启动命令

    org.apache.druid.cli.Main server indexer
    

    task资源共享

    • 以下资源在Indexer进程中运行的所有任务之间共享。

    Query资源

    • 查询处理线程和缓冲区在所有任务之间共享。Indexer将为所有任务共享的单个端点提供查询。
    • 如果启用了查询缓存,那么还可以在所有任务之间共享查询缓存。

    服务器的HTTP线程

    • Indexer维护两个大小相等的HTTP线程池。
    • 一个线程池专门用于Overlord和Indexer之间的任务控制消息(“chat handler threads”)。另一个池用于处理所有其他HTTP请求。
    • 池的大小由druid.server.http.numThreads配置。numThreads配置(例如,如果将其设置为10,则将有10个聊天处理程序线程和10个非聊天处理程序线程)。
    • 除了这两个池之外,还为查找处理分配了两个单独的线程。如果不使用查找,就不会使用这些线程。

    内存共享

    • Indexer使用配置druid.worker.globalIngestionHeapLimitBytes对所运行的任务加全局堆限制。
    • 这个全局限制是由druid.worker.capacity配置的任务槽的数量平均分配的。
    • 要应用每个任务堆(heap)的限制,Indexer将在任务调优配置中覆盖maxBytesInMemory(即,忽略默认值或任何用户配置的值)。maxRowsInMemory也将被覆盖到一个实质上不受限制的值:索引器不支持行限制。
    • 默认情况下:druid.worker.globalIngestionHeapLimitBytes设定为JVM堆内存的1/6;选择此默认值是为了在使用MiddleManager/Peon系统(也占JVM堆的1/6)时,与任务调优配置中的maxBytesInMemory的默认值保持一致。
    • 堆内存中保存的原始数据的峰值使用量与任务调优配置中的maxBytesInMemorymaxpendingpersist属性之间的交互有关。当任务在堆中保存的原始数据量达到maxBytesInMemory指定的限制时,任务将持久化堆中的行数据。在persist启动后,任务可以在运行persist时再次读取maxBytesInMemory字节数的原始数据。
    • 这意味着,原始数据的堆内峰值使用量可以达到maxBytesInMemory * (2 + maxpendingpersist)maxpendingpersist的默认值是0,这允许一个persist与数据提取工作并发运行。
    • 堆的其余部分用于查询处理和段持久化/合并操作,以及其他堆的使用。

    并发Segment缓存和合并限制

    • 为了帮助降低峰值内存使用量,Indexer对所有运行任务的并发Segment
      perstis/merge 操作的数量施加了限制。
    • 默认情况下,并发Segment的 perstis/merge 操作的数量限制为(druid.worker.capacity / 2),四舍五入。参数配置druid.worker.numConcurrentMerges

    当前限制

    • 使用Indexer时,当前不支持单独的任务日志;所有任务日志消息都将记录在Indexer进程日志中。
    • Indexer当前对每个任务施加相同的内存限制。在以后的版本中,将删除每个任务的内存限制,只应用全局限制。并发合并的限制也将被取消。
    • 在以后的版本中,每个任务的内存使用将被动态管理。详见:https://github.com/apache/druid/issues/7900

    相关文章

      网友评论

        本文标题:Druid--Druid中Indexer Process

        本文链接:https://www.haomeiwen.com/subject/drqlhhtx.html