首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

druid 配置

Druid 是一个开源的分布式列式存储数据库,由 MetaMarket 公司开发,主要用于在线分析处理(OLAP)场景。它以高性能、高并发、高可用性著称,广泛应用于大数据分析和实时数据处理领域。

基础概念

Druid 的核心概念包括:

  1. Segment:数据存储的基本单元,每个 Segment 包含一定时间范围内的数据。
  2. Index:Druid 使用多维索引来加速查询,支持快速的过滤和聚合操作。
  3. Deep Storage:用于长期存储数据的后端存储系统,通常与分布式文件系统(如 HDFS)结合使用。
  4. Broker:处理客户端查询请求的组件,负责将请求路由到合适的节点。
  5. Coordinator:负责数据分布和负载均衡,管理集群中的各个节点。

优势

  • 高性能:Druid 设计用于处理大规模数据集,并提供亚秒级的查询响应时间。
  • 高并发:支持大量并发查询请求,适合实时数据分析和报告生成。
  • 高可用性:通过副本机制和自动故障转移确保数据的可靠性和服务的连续性。
  • 灵活的数据摄取:支持多种数据源和格式,包括 Kafka、HDFS 等。
  • 丰富的查询语言:支持 SQL 查询以及原生 Druid 查询语言。

类型

Druid 主要有两种部署模式:

  1. 单机模式:适用于开发和测试环境。
  2. 集群模式:用于生产环境,提供高可用性和扩展性。

应用场景

  • 实时数据分析:如实时监控、用户行为分析等。
  • 商业智能报告:生成复杂的报表和仪表盘。
  • 时间序列数据存储:适用于物联网设备的数据收集和分析。
  • 日志聚合与分析:处理和分析大量的日志数据。

配置示例

以下是一个简单的 Druid 配置文件示例(runtime.properties):

代码语言:txt
复制
# 基本配置
druid.service=druid/historical
druid.port=8082

# 数据存储配置
druid.storage.type=local
druid.storage.storageDirectory=/var/lib/druid

# 索引服务配置
druid.indexer.runner.type=remote
druid.indexer.storage.type=metadata
druid.indexer.storage.metadataUri=http://coordinator:8081/druid/indexer/v1/metadata

# 查询服务配置
druid.broker.http.numConnections=50
druid.broker.http.readTimeout=PT5M

常见问题及解决方法

问题1:查询响应慢

  • 原因:可能是数据量过大,索引不合理,或者硬件资源不足。
  • 解决方法:优化查询语句,增加硬件资源,重新设计索引策略。

问题2:数据摄取失败

  • 原因:可能是数据源连接问题,格式不匹配,或者摄取任务配置错误。
  • 解决方法:检查数据源连接,确保数据格式正确,调整摄取任务的配置参数。

问题3:节点宕机导致服务不可用

  • 原因:硬件故障,软件bug,或者网络问题。
  • 解决方法:启用副本机制,定期检查和维护硬件,更新软件版本以修复已知bug。

通过合理配置和优化,Druid 能够提供稳定且高效的数据处理能力,满足各种大数据应用场景的需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

druid监控配置

1.1.10 application.properties: #阿里druid连接池驱动配置信息...=3 #配置获取连接等待超时的时间 spring.datasource.druid.maxWait=6000 #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 spring.datasource.druid.timeBetweenEvictionRunsMillis...=1800 #指定发生removeabandoned的时候,是否记录当前线程的堆栈信息到日志中 spring.datasource.druid.logAbandoned=true #配置一个连接在池中最小生存的时间...,配置为true会降低性能 spring.datasource.druid.testOnBorrow=false #归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能...=true spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20 #配置监控统计拦截的filters,去掉后监控界面sql

1.4K20
  • druid配置详解表

    druid配置详解表 属性 说明 建议值 url 数据库的jdbc连接地址。一般为连接oracle/mysql。示例如下: mysql : jdbc:mysql://ip:port/dbname?...正常close连接时设置为true removeAbandonedTimeout 设置druid 强制回收连接的时限,当程序从池中get到连接开始算起,超过此 应大于业务运行最长时间 值后,druid...logAbandoned 当druid强制回收连接后,是否将stack trace 记录到日志中 true testWhileIdle 当程序请求连接,池在分配连接时,是否先检查该连接是否有效。...resultSetType, int resultSetConcurrency) maxPoolPrepareStatementPerConnectionSize 每个连接最多缓存多少个SQL 20 filters 这里配置的是插件...比如设置一些连接池统计方面的配置。 druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 比如设置一些数据库连接属性:

    14110

    Druid 集群方式部署 —— 配置调整

    我们将会按照下面的配置方式进行配置: Historical druid.processing.numThreads: 基于配置的新硬件环境,设置为 (num_cores - 1) druid.processing.numMergeBuffers...: 保持不变 druid.indexer.fork.property.druid.processing.numThreads: 保持不变 在完成上面配置后的结果如下: 集群 Historical (使用...=1 Query 服务 你可以将已经在独立服务器部署中存在的配置文件拷贝到 conf/druid/cluster/query 目录中完成部署。...如果新的服务器的硬件配置和独立服务器的配置是相对的话,新的部署不需要做修改。...server (m5.2xlarge) 在 conf/druid/cluster 文件夹中的配置文件已经针对上面的硬件环境进行了优化,针对基本情况的使用来说,你不需要针对上面的配置进行修改。

    92600

    记一次 Druid 超时配置的问题 → 引发对 Druid 时间配置项的探究

    时间配置项 Druid 中关于时间的配置项有很多,我们我们重点来看下如下几个   maxWait   最大等待时长,单位是毫秒,-1 表示无限制   从连接池获取 connect ,如果有空闲的 connect...我们再仔细阅读下:连接泄漏监测 Druid 提供了 RemoveAbandanded 相关配置,目的是监测连接泄露,回收那些长时间游离在连接池之外的空闲 connect   可能因为程序问题,导致申请的...大家自己去分析,权当是给大家留个一个作业   这里就配置 DataSource 的 queryTimeout ,给大家演示下效果   可以看到,所有线程都获取到了 connect 总结   1、 Druid... 的 removeAbandoned 对性能有影响,不建议开启 removeAbandoned 的开启后的作用要捋清楚,而非简单的过期强制回收   2、 Druid 的时间配置项有很多,不局限于文中所讲...,但常用的就那么几个,其他的保持默认值就好     配置的时候一定要弄清楚各个配置项的具体作业,不要去猜!

    8.9K20
    领券