druid.io

Druid 实时数据分析存储系统

江枫思渺然 提交于 2020-03-16 15:05:31
某厂面试归来,发现自己落伍了!>>> 简介 Druid 是一个开源的,分布式的,列存储的,适用于实时数据分析的存储系统,能够 快速聚合、灵活过滤、毫秒级查询、和低延迟数据导入 。 Druid在设计时充分考虑到了高可用性,各种节点挂掉都不会使得druid停止工作(但是状态会无法更新); Druid中的各个组成部分之间耦合性低,如果不需要实时数据完全可以忽略实时节点; Druid使用Bitmap indexing加速列存储的查询速度,并使用 CONCISE 算法来对bitmap indexing进行压缩,使得生成的segments比原始文本文件小很多; 架构 整体架构 Druid集群包含不同类型的节点,而每种节点都被设计来做好某组事情。这样的设计可以隔离关注并简化整个系统的复杂度。 不同节点的运转几乎都是独立的并且和其他的节点有着最小化的交互,因此集群内的通信故障对于数据可用性的影响非常小。 Druid集群的构成和数据流向如图1所示: (图1) Druid 本身包含了五种节点 : Realtime、Historical、Coordinator、Broker、Indexer Historical 历史节点 是进行存储和查询的“历史”数据(非实时)的工作区,它 会从深存储区(Deep Storage)中加载数据段(Data/Segments),响应 Broker 节点的查询请求并返回结果

duird.io 支持不同版本的 hadoop

假装没事ソ 提交于 2020-03-07 21:48:45
首先参考官方方案 https://github.com/druid-io/druid/blob/master/docs/content/operations/other-hadoop.md 有些时候只能通过里面讲的最后一种手段 编译源码 来解决 fork官方版本,修改 hadoop 版本号,重新编译 修改 hadoop 版本: pom.xml line 73 修改 hadoop 版本为 2.6.0 ( 可替换成你自己的版本即可 ) line 126 注释掉 <module>extensions-contrib/thrift-extensions</module> ,社区提供的扩展,国内环境编译不成功,因此去掉,官方发布版中也不包含此包,不影响核心功能 examples/conf-quickstart/druid/middleManager/runtime.properties line 20 修改 hadoop 版本为 2.6.0 examples/conf/druid/middleManager/runtime.properties 修改 hadoop 版本 line 20 修改 hadoop 版本为 2.6.0 indexing-service/src/main/java/io/druid/indexing/common/config/TaskConfig.java line