Druid的简介及安装使用

Alibaba Druid简单介绍及使用 Alibaba Druid(以下简称 Druid)是阿里巴巴开源的数据库连接池、SQL 解析、监控和扩展功能的工具集合。它不仅仅是一个数据库连接池,还提供了强大的监控和管理功能,可以帮助开发者更好地管理数据库连接、优化SQL查询以及监控数据库性能。 阅读详情

应用场景

从技术定位上看,Druid 是一个分布式的数据分析平台,在功能上也非常像传统的OLAP系统,但是在实现方式上做了很多聚焦和取舍,为了支持更大的数据量、更灵活的分布式部署、更实时的数据摄入,Druid 舍去了OLAP 查询中比较复杂的操作,例如JOIN 等。相比传统数据库,Druid 是一种时序数据库,按照一定的时间粒度对数据进行聚合,以加快分析查询。
适用于广告分析、互联网广告系统监控以及网络监控等海量不变数据写入的场景。

特点

对应目前大多数Druid的使用场景来说,Druid本质上是一个分布式时序数据库。其特点有以下几个方面:

  • 数据吞吐量大。
  • 支持流式数据摄入和实时。
  • 查询灵活且快。
  • 社区支持力度大。
  • 查询上通过plyql工具支持少量sql。(也在逐步更新)

设计原则

  • 快速查询(Fast Query)
    部分数据的聚合(Partial Aggregate)+内存化(In-emory)+索引(Index)。
  • 水平扩展能力(Horizontal Scalability)
    分布式数据(Distributed Data)+ 并行化查询(Parallelizable Query)。
  • 实时分析(Realtime Analytics)
    不可变的过去,只追加的未来(Immutable Past,Append-Only Future)。

数据格式

在数据摄入之前,首先需要定义一个数据源(DataSource),每个集合包含三个部分。

  • 时间列(TimeStamp)
    表明每行数据的时间值,默认只用UTC时间格式且精确到毫秒。这个列是数据聚合与范围查询的重要维度
  • 维度列(Dimension)
    用来表示数据行的各个类别信息
  • 指标列(Metric)
    用于聚合和计算的列

相关软件对比

  • OpenTSDB
    OpenTSDB预先定义好维度Tag,采用精巧的数据组织方式放入HBase中,基于HBase有很好的查询效率,但是在任意维度组合查询下,效率会明显降低。
  • influxDB
    都内置HTTP接口,使用方便。influxDB采用golang开发,开箱即用,有类SQL的查询语句。而Druid仅支持部分sql,目前influxDB只有单机版是开源的,集群需要付费。
  • kylin
    kylin是通过预计算和定期任务,把很多数据事先存储在以HBase为基础的OLAP Cube中,而Druid是实时聚合,最大的优势是支持sql访问,可以兼容传统的BI工具和报表,在性能上没有太大优势。

总体架构

Druid是类LSM-tree架构,不同的是Druid不提供日志及实时WAL(预写日志)原则,实时数据首先会被直接加载进实时节点的内存中的堆结构,当条件满足时,缓存区里的数据会被重写到硬盘上形成一个数据块,同事实时节点又会立即将新生成的数据块加载到内存的非堆区,因此无论是堆结构还是缓存区的数据,都是能够被查询节点查询。这种架构安排实际上也在一点程度上借鉴了命令查询职责分离模式(CQRS)

安装环境

我们学习搭建采用Imply组合套件安装包。安装条件如下:

  • linux系统,暂不支持windows。

  • Java7及以上。(没有的话,启动时会用异常信息提示)

  • NodeJS 4.x以上。(没有的话,启动时会用异常信息提示)

  • 下载命令wget https://static.imply.io/release/imply-1.3.1.tar.gz

服务运行

使用tar命令解压后进入imply-1.3.1目录,druid组件会占用2181、8081、8090、9095等等端口,启动前可以用lsof命令检查下是否有进程占用,不然启动是日志会提示异常。然后我执行命令:
nohup bin/supervise -c conf/supervise/quickstart.conf > quickstart.log &
启动我们的单据版。我们查看quickstart.log启动日志,会发现有zk、coordinator、broker、historical、overlord、middleManager、pivot、tranquility-server等服务都先后被启动,如果提示fail或者exit,就要查看下具体服务启动失败原因了。
另外通过bin/service --down 可以退出当前所有服务,也可以通过--stop指定特定的服务。启动正常的话我们可以打开http://localhost:9095 查看Pivot页面。能打开证明启动正常的。但是里面没有数据,我们可以用命令添加一些测试数据:
bin/post-index-task --file quickstart/wikiticker-index.json,这是维基百科的一些测试数据。成功的话会有以下日志返回。

root@fp-bd5:/opt/imply-1.3.1# bin/post-index-task --file quickstart/wikiticker-index.json
Task started: index_hadoop_wikiticker_2019-03-11T11:53:30.328Z
Task log:     http://localhost:8090/druid/indexer/v1/task/index_hadoop_wikiticker_2019-03-11T11:53:30.328Z/log
Task status:  http://localhost:8090/druid/indexer/v1/task/index_hadoop_wikiticker_2019-03-11T11:53:30.328Z/status
Task index_hadoop_wikiticker_2019-03-11T11:53:30.328Z still running...
Task index_hadoop_wikiticker_2019-03-11T11:53:30.328Z still running...
Task index_hadoop_wikiticker_2019-03-11T11:53:30.328Z still running...
Task index_hadoop_wikiticker_2019-03-11T11:53:30.328Z still running...
Task finished with status: SUCCESS

这是可以通过http://localhost:9095 看到我们导入的数据:
在这里插入图片描述
通过plyql工具利用sql语句查询
bin/plyql --host fp-bd5:8082 -v -q "SELECT page , SUM(count) AS Edits FROM wikiticker WHERE '2016-06-27T00:00:00' <= __time AND __time < '2016-06-28T00:00:00' group BY page ORDER BY Edits DESC LIMIT 5"
会有以下返回

┌──────────────────────────────────────────────────────────┬───────┐
│ page                                                     │ Edits │
├──────────────────────────────────────────────────────────┼───────┤
│ Copa América Centenario                                  │ 29    │
│ User:Cyde/List of candidates for speedy deletion/Subpage │ 16    │
│ Wikipedia:Administrators' noticeboard/Incidents          │ 16    │
│ 2016 Wimbledon Championships – Men's Singles             │ 15    │
│ Wikipedia:Administrator intervention against vandalism   │ 15    │
└──────────────────────────────────────────────────────────┴───────┘

通过http协议访问实时导入与查询

bin/generate-example-metrics |curl -XPOST -H'Content-Type:application/json' --data-binary @- http://fp-bd5:8200/v1/post/metrics

返回

{"result":{"received":25,"sent":25}}

本文参考:《Druid实时大数据分析原理与实践》

Druid安装(单机环境) 背景 本篇文章将简单介绍Druid在单机上的安装与安装过程中可能会遇到的问题。主要目的是供初次接触Druid的同学了解Druid所用。 准备工作 软件 Java8(8u92+) Linux或其他类Unix系统 硬件 4CPU/16GB RAM及以上 下载Druid 将Apache Druid 0.16.0-incubating下载到机器中。这里我们下载apache-druid-0.16.0... 阅读详情

相关推荐

【Lane】 Ultra-Fast-Lane-Detection 复现

引言 车道线检测源码复现以及训练自己的数据集 1 环境搭建 conda create -n lane python=3.7 conda activate lane # 激活环境 conda install pytorch torchvision cudatoolkit=10.1 -c pytorch pip install -r requirements.txt 2 下载项目源码 若在服务器上可以用指令下载,否则直接在网址中下载 git clone https://github.com/cfzd/U

qq_44703886的博客 2万+

springboot学习笔记11:集成Druid

springboot学习笔记11:集成Druid 什么是Druid Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。 Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。 Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。 Spring Boot 2.

好汤圆的博客 3397

智能体在车联网中的应用:第9天 核心工具链与仿真世界:SUMO交通仿真入门——从安装到构建你的第一个虚拟十字路口

摘要 SUMO是一款开源微观交通仿真工具,为车联网和自动驾驶算法开发提供高效安全的测试环境。文章详细介绍了SUMO的核心概念、安装方法及实战应用。在Ubuntu或Windows系统安装SUMO后,可通过netedit工具构建十字路口路网,包括创建节点、连接边、设置交通信号灯等步骤。随后通过编写.rou.xml文件定义车辆类型、路线和车流,实现动态交通场景模拟。SUMO支持与外部程序交互,能复现真实场景、进行极端测试和算法验证,是车联网研究的理想数字沙盘。

IT深耕十余载,大道之简 1451

Druid的介绍、使用和原理架构(数据摄取、数据查询)

Druid是MetaMarket公司研发的一款针对海量数据进行高性能实时分析的OLAP引擎(包含存储引擎和分析引擎当前已经捐献给Apache基金会。低延迟交互式查询:Druid提供低延迟实时数据摄取(入库),并采用预聚合、列式存储、位图索引 等手段使得海量数据分析能够亚秒级响应。高可用性( High Available ):Druid 使用 HDFS/S3 作为 Deep Storage,Segment 会在多个Historical 节点上进行加载;摄取数据时也可以多副本摄取,保证数据可用性和容错性。

迷雾总会解 9153

在WPS/Office中免费使用AI,快速提升办公效率!​

《免费解锁WPS/Office AI办公神器教程》摘要: 本教程详解如何通过第三方插件OfficeAI免费实现WPS/Office智能办公,突破官方付费限制。从安全设置到安装配置,手把手教学,涵盖文档生成、PPT美化、Excel图表等核心功能。关键优势包括零成本、全场景支持及云端/本地双模式切换,并附常见问题解决方案。注意需使用WPS 2024+版本,安装时需临时关闭杀毒软件。教程强调工具来源合法性,建议商用购买正版授权。(149字)

杜哥无敌的博客 2303

H医药公司配送中心布局仿真优化

新增2个Source,Source1命名为“货物到达”,用来进行仿真供应商原料到达,Source2命名为“订单到达”,用来进行仿真客户需求订单的到达,如下图是设置两个发生器的具体参数。通过主操作界面上的各个实体工具,如发生器、暂存区、货架、处理器、吸收器等实体工具对初始模型和优化后的方案模型进行仿真建模,建立优化前后的模型图如下图所示。通过下表可以看出,优化前操作员的总运行距离为132.11km,而优化后操作员的总运行距离为128.17km,运行距离缩短,操作员的疲劳强度降低。

m0_72514516的博客 2529

Druid简介

​​​​​​Java程序很大一部分要操作数据库,为了提高性能,操作数据库的时候,又不得不使用。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。

顺其自然~专栏 5293

Modbus测试工具ModbusPoll与Modbus Slave使用方法 小白实操记录

Modbus 下面介绍modbus标准协议从站、主站仿真工具;可用于指令下发,数据采集等;是学习、现场运维的好工具。 1 介绍 Modbus Poll :Modbus主机仿真器,用于测试和调试Modbus从设备。该软件支持ModbusRTU、ASCII、TCP/IP。用来帮助开发人员测试Modbus从设备,或者其它Modbus协议的测试和仿真。它支持多文档接口,即,可以同时监视多个从设备/数据域。每个窗口简单地设定从设备ID,功能,地址,大小和轮询间隔。你可以从任意一个窗口读写寄存器和线圈。如果你想改

码灵的博客 1万+

Druid+Presto+Kylin

第1章 Presto. 11.1 Presto简介... 11.1.1 Presto概念... 11.1.2 Presto架构... 21.1.3 Presto优缺点... 21.1.4 Presto、Impala性能比较... 21.2 Presto安装... 31.2.1 Presto Server安装... 31.2.2 Presto命令行Client安装... 51.2.3 Presto可视化Client安装... 51.3 Presto优化之数据存储... 71.3.1 合理设置分区... 71.

互联网知识分享 460

【忍者算法】从生活案例理解滑动窗口最大值:一个超直观的思路讲解|LeetCode 239 滑动窗口最大值

点此看全部题解更多干货,请关注公众号【忍者算法】,回复【刷题清单】获取完整题解目录~

忍者算法的博客 632

计算机视觉 | 面试题:01、过拟合和欠拟合的表现与解决方法

问题 过拟合和欠拟合的表现和解决方法。 其实除了欠拟合和过拟合,还有一种是适度拟合,适度拟合就是我们模型训练想要达到的状态,不过适度拟合这个词平时真的好少见,在做酷狗音乐的笔试题时还懵逼了一会,居然还真的有这样的说法。 这应该是基础中的基础了,笔试题都做烂了。那就当做今天周末,继续放个假吧…… 过拟合 过拟合的表现 模型在训练集上的表现非常好,但是在测试集、验证集以及新数据上的表现很差,损失曲线呈现一种高方差状态。(高方差指的是训练集误差较低,而测试集误差比训练集大较多) 过拟合的原因 从两个角度去分析

Mrrunsen的博客 867

Druid系列 《二》Druid使用与安装

  2.1加载数据到Druid Druid支持流式(实时)和基于文件(批量)的数据提取方式。最常用的配置是: Files - 通过HDFS、S3、本地文件或者任何支持hadoop文件系统批量加载数据。如果你的数据集已经在这类文件系统中推荐使用这个方法。 Stream push - 使用Tranquility(向Druid发送流的客户端)将实时数据流推送到Druid。如果你的数据集来自于流式...

sinat_32176267的博客 2910

YOLOv8改进:全网原创首发 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测 | NeurIPS2022

多尺度卷积注意力(MSCA),有效地提取上下文信息;1)作为注意力MSCA使用;

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 3844

Apache Druid (incubating) 安装及使用

主要对Druid进行了简要的介绍,包括概念和架构,以及常见的问题。接着以Single-service的方式自定义配置进行了部署和安装,以及对安装的后的Druid的简要使用

Yore - Home 8077

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Druid 安装要求

在本快速开始的内容部分,将向你介绍有关如何开始使用 Apache Druid 和一些相关的基本特性。 当你按照给出的步骤完成操作后,你将能够安装并且运行 Druid 和使用自带的批量数据摄取(ingestion)特性向安装成功的 Druid 实例中导入数据。 当前翻译基于的 Druid 版本为 apache-druid-0.21.1,本页面中的有关下载链接可能会随着版本更新而失效。 请自行根据官方办法的发行进度进行搜索更新和下载。 在开始我们下面的步骤之前,请先阅读Druid 概述和 数据摄取(in..

HONEY MOOSE 393

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Apache Druid 安装与使用指南

Apache Druid 安装与使用指南 本指南将带你逐步了解如何安装并使用开源实时分析数据库 Apache Druid。首先,我们将概述项目目录结构,然后解释启动文件及其作用,最后详细讨论配置文件。 1. 项目目录结构及介绍 在解压或克隆 apache/druid 仓库后,你会看到以下主要目录: bin:存放用于启动和管理 Druid 的脚本。 conf:包含了 Druid 默认的配置文件和示...

gitblog_00856的博客 1214

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

从 Docker 中安装启动 Druid

Docker 在本 Docker 的快速指南中,我们将从Docker Hub下载 Apache Druid 镜像,在一台机器上安装并使用Docker和Docker Compose。 在完成初始设置后,集群将准备好加载数据。 同时,如果你已经完成了下面内容的阅读的话将会更好的帮助你理解 Docker 安装配置的相关内容。 Druid 基本概述 数据导入概述 如果你还能对 Docker 使用的相关知识有所了解的,也能够更好的帮助你在 Docker 上使用 Druid。 安装前提 Dock...

HONEY MOOSE 1130

DRUID- metabase安装使用

DRUID- metabase安装使用

sidongxue2的专栏 4776

Druid安装部署

一,节点规划(centos) 节点 服务 node1 openjdk,mysql,zookeeper,druid Master node2 openjdk,zookeeper,druid Query node3 openjdk,zookeeker,druid Data 二,安装openjdk 在线安装 yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel 离线安装 链接: centos环境离线安装openjdk1.

weixin_43172032的博客 1168

Druid 德鲁伊 | 安装、使用指南

druid是阿里开源的一个数据库连接池的解决方案。它本身还自带一个监控平台,可以查看时时产生的sql、uri等监控数据,可以排查慢sql、慢请求,方便对sql和项目代码进行调优。

devops 6649

Apache Druid 集群搭建及使用【超全面】

一、Druid 简介 1.1 大数据分析平台架构分类 数据分析的基础架构可以分为以下几类: 使用Hadoop/Spark 进行分析 将Hadoop/Spark 的结果导入 RDBMS 中提供数据分析;补充说明:RDBMS一般指关系数据库管理系统 将结果注入到容量更大的NoSQL中,解决数据分析的存储瓶颈,例如:HBase 将数据源进行流式处理,对接流式计算框架,例如:Flink、Spark Streaming,结果保存到RDBMS、NoSQL中 将数据源进行流式处理,对接分析数据库,例如:

认知 行动 坚持 4794

Apache Druid简介

一、简介 Apache Druid是一个实时分析数据库,旨在对大型数据集进行快速的切片和分析(“ OLAP ”查询)。 二、常用领域 点击流分析(网络和移动分析) 网络遥测分析(网络性能监控) 服务器指标存储 供应链分析(制造指标) 应用程序性能指标 数字营销/广告分析 商业智能/ OLAP 三、主要功能 列式存储格式。Druid使用面向列的存储,这意味着它仅需要加载特定查询所需的确切列。这...

weixin_42348609的博客 758

使用docker安装zookeeper、kafka、druid进行摄取数据

Druid中的所有数据都被组织成段,这些段是数据文件,通常每个段最多有几百万行。在Druid中加载数据称为摄取,它包括从源系统读取数据并基于该数据创建段。在大多数摄取方法中,加载数据的工作由MiddleManager进程完成。 Druid数据存储在数据源中,与传统关系型数据库中的表类似。 Druid把数据集分为三个部分: Timestamp column(时间戳):将时间字段单独处理,是因为Druid的所有查询都是围绕时间轴进行的。 Dimension columns(维度列): 维度列是数据的属性,是按原

qq_41358574的博客 3533

druid集群安装

一.下载安装(以下操作均需在所有节点执行) 创建/opt/druid目录作为安装目录。 下载最新版本druid wget http://static.druid.io/artifacts/releases/druid-0.12.3-bin.tar.gz 解压下载后的文件并重命名为druid tar -zxvf druid-0.12.3-bin.tar.gz;mv druid-0.12.3 d...

asfjgvajfghaklsbf的博客 1296

Druid集群安装使用

Druid集群安装使用V0.1 1、版本及环境 Druid有开源版本,也有商业版本。 商业版本是Druid的主要创始人出来做的公司,旨在推动Druid社区的快速发展,目前来看Druid的社区非常活跃。 本文采用Druid的商业发行版本进行安装,即采用imply发布的包进行安装。 为了减少文章篇幅,我们假设您有三台物理机(虚拟机),且完成了以下准备工作: 安装CentOS7操作系统,配置网络、各节...

weixin_34380781的博客 1525

【Druid】单机版Druid安装过程

记录Druid单机版安装过程,大体与官网安装过程,加入了个别与官网安装不一致的情况和解决方法 Druid运行依赖zookeeper作为分布式协调服务,下载安装zookeeper wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz tar -zvf zookeeper-3.4....

caobang3250的博客 641
上一篇: docker重点笔记
下一篇: 网易数据基础平台建设经验谈
yyoc97
博客等级 码龄12年 272粉丝 91原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值