Druid入门(1)—— 快速入门实时分析利器

Stella981
• 阅读 364

Druid入门(1)—— 快速入门实时分析利器


一、安装准备


本次安装的版本是截止2020.1.30最新的版本0.17.0

软件要求

  • 需要Java 8(8u92 +)以上的版本,否则会有问题

  • Linux,Mac OS X或其他类似Unix的操作系统(不支持Windows)

硬件要求

Druid包括一组参考配置和用于单机部署的启动脚本:

  • nano-quickstart

  • micro-quickstart

  • small

  • medium

  • large

  • xlarge

单服务器参考配置

Nano-Quickstart:1个CPU,4GB RAM
  • 启动命令: bin/start-nano-quickstart

  • 配置目录: conf/druid/single-server/nano-quickstart

微型快速入门:4个CPU,16GB RAM
  • 启动命令: bin/start-micro-quickstart

  • 配置目录: conf/druid/single-server/micro-quickstart

小型:8 CPU,64GB RAM(〜i3.2xlarge)
  • 启动命令: bin/start-small

  • 配置目录: conf/druid/single-server/small

中:16 CPU,128GB RAM(〜i3.4xlarge)
  • 启动命令: bin/start-medium

  • 配置目录: conf/druid/single-server/medium

大型:32 CPU,256GB RAM(〜i3.8xlarge)
  • 启动命令: bin/start-large

  • 配置目录: conf/druid/single-server/large

大型X:64 CPU,512GB RAM(〜i3.16xlarge)
  • 启动命令: bin/start-xlarge

  • 配置目录: conf/druid/single-server/xlarge

我们这里做测试使用选择最低配置即可nano-quickstart

二、下载安装包

访问官网:

http://druid.io/现在也会跳转https://druid.apache.org/

或者直接访问https://druid.apache.org/

Druid入门(1)—— 快速入门实时分析利器

点击download进入下载页面:

Druid入门(1)—— 快速入门实时分析利器

选择最新版本: apache-druid-0.17.0-bin.tar.gz 进行下载

200多M

Druid入门(1)—— 快速入门实时分析利器

也可以选择下载源码包 用maven进行编译

三、安装

上传安装包

在终端中运行以下命令来安装Druid:

tar -xzf apache-druid-0.17.0-bin.tar.gzcd apache-druid-0.17.0

安装包里有这几个目录:

Druid入门(1)—— 快速入门实时分析利器

  • LICENSENOTICE文件

  • bin/* -脚本

  • conf/* -单服务器和集群设置的示例配置

  • extensions/* -扩展

  • hadoop-dependencies/* -Druid Hadoop依赖

  • lib/* -Druid库

  • quickstart/* -快速入门教程的配置文件,样本数据和其他文件

配置文件

#进入我们要启动的配置文件位置:cd conf/druid/single-server/nano-quickstart/

Druid入门(1)—— 快速入门实时分析利器

_common 公共配置

Druid入门(1)—— 快速入门实时分析利器

是druid一些基本的配置,比如元数据库地址 各种路径等等

其他的是各个节点的配置

比较类似,比如broker

cd broker/

Druid入门(1)—— 快速入门实时分析利器

jvm配置

main配置

runtime运行时相关的配置

回到主目录

启动的conf在

cd conf/supervise/single-server

Druid入门(1)—— 快速入门实时分析利器

里面是不同配置启动不同的脚本

四、启动

回到主目录

./bin/start-nano-quickstart

启动成功:

Druid入门(1)—— 快速入门实时分析利器

访问

localhost:8888

看到管理页面

Druid入门(1)—— 快速入门实时分析利器

如果要修改端口,需要修改配置的端口和主目录下的

vi bin/verify-default-ports

五、加载数据

Druid提供了一个示例数据文件,其中包含2015年9月12日发生的Wiki的示例数据。

此样本数据位于quickstart/tutorial/wikiticker-2015-09-12-sampled.json.gz

示例数据大概是这样:

{  "timestamp":"2015-09-12T20:03:45.018Z",  "channel":"#en.wikipedia",  "namespace":"Main",  "page":"Spider-Man's powers and equipment",  "user":"foobar",  "comment":"/* Artificial web-shooters */",  "cityName":"New York",  "regionName":"New York",  "regionIsoCode":"NY",  "countryName":"United States",  "countryIsoCode":"US",  "isAnonymous":false,  "isNew":false,  "isMinor":false,  "isRobot":false,  "isUnpatrolled":false,  "added":99,  "delta":99,  "deleted":0,}

Druid加载数据分为以下几种:

  • 加载文件

  • 从kafka中加载数据

  • 从hadoop中加载数据

  • 自定义加载方式

我们这样演示一下加载示例文件数据

1、进入localhost:8888 点击load data

Druid入门(1)—— 快速入门实时分析利器

2、选择local disk

Druid入门(1)—— 快速入门实时分析利器

3、选择Connect data

Druid入门(1)—— 快速入门实时分析利器

4、预览数据

Base directory输入quickstart/tutorial/

File filter输入 wikiticker-2015-09-12-sampled.json.gz

然后点击apply预览 就可以看见数据了 点击Next:parse data解析数据

Druid入门(1)—— 快速入门实时分析利器

5、解析数据

可以看到json数据已经被解析了 继续解析时间

Druid入门(1)—— 快速入门实时分析利器

6、解析时间

解析时间成功 之后两步是transform和filter 这里不做演示了 直接next

Druid入门(1)—— 快速入门实时分析利器

7、确认Schema

这一步会让我们确认Schema 可以做一些修改

由于数据量较小 我们直接关掉Rollup 直接下一步

Druid入门(1)—— 快速入门实时分析利器

8、设置分段

这里可以设置数据分段 我们选择hour next

Druid入门(1)—— 快速入门实时分析利器

9、确认发布

Druid入门(1)—— 快速入门实时分析利器

Druid入门(1)—— 快速入门实时分析利器

10、发布成功 开始解析数据

Druid入门(1)—— 快速入门实时分析利器

等待任务成功

Druid入门(1)—— 快速入门实时分析利器

11、查看数据

选择datasources 可以看到我们加载的数据

可以看到数据源名称 Fully是完全可用 还有大小等各种信息

Druid入门(1)—— 快速入门实时分析利器

12、查询数据

点击query按钮

我们可以写sql查询数据了 还可以将数据下载

Druid入门(1)—— 快速入门实时分析利器

Druid相关博文

什么是Druid

静下心来,努力的提升自己,永远都没有错。更多实时计算相关博文,欢迎关注实时流式计算

Druid入门(1)—— 快速入门实时分析利器

本文分享自微信公众号 - 实时流式计算(RealtimeBigdata)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
光头强的博客 光头强的博客
2个月前
Java面向对象试题
1、 请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。 创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现 接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿 吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方
刚刚好 刚刚好
2个月前
css问题
1、 在IOS中图片不显示(给图片加了圆角或者img没有父级) <div<img src""/</div div {width: 20px; height: 20px; borderradius: 20px; overflow: h
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录 问题 用navicat导入数据时,报错: 原因这是因为当前的MySQL不支持datetime为0的情况。 解决修改sql\mode: sql\mode:SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。 全局s
小森森 小森森
2个月前
校园表白墙微信小程序V1.0 SayLove -基于微信云开发-一键快速搭建,开箱即用
后续会继续更新,敬请期待2.0全新版本 欢迎添加左边的微信一起探讨!项目地址:](https://www.aliyun.com/activity/daily/bestoffer?userCodesskuuw5n) \2. Bug修复更新日历 2. 情侣脸功能大家不要使用了,现在阿里云的接口已经要收费了(土豪请随意), \ \ 和 注意
晴空闲云 晴空闲云
2个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。 盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
艾木酱 艾木酱
1个月前
快速入门|使用MemFire Cloud构建React Native应用程序
> MemFire Cloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
Wesley13 Wesley13
1年前
Java爬虫之JSoup使用教程
title: Java爬虫之JSoup使用教程 date: 2018-12-24 8:00:00 +0800 update: 2018-12-24 8:00:00 +0800 author: me cover: [https://img-blog.csdnimg.cn/20181224144920712](https://www.oschin
Wesley13 Wesley13
1年前
MySQL查询按照指定规则排序
1.按照指定(单个)字段排序 select * from table_name order id desc; 2.按照指定(多个)字段排序 select * from table_name order id desc,status desc; 3.按照指定字段和规则排序 selec
Wesley13 Wesley13
1年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
#### 背景描述 # Time: 2019-01-24T00:08:14.705724+08:00 # User@Host: **[**] @ [**] Id: ** # Schema: sentrymeta Last_errno: 0 Killed: 0 # Query_time: 0.315758 Lock_
helloworld_28799839 helloworld_28799839
2个月前
常用知识整理
# Javascript ## 判断对象是否为空 ```js Object.keys(myObject).length === 0 ``` ## 经常使用的三元运算 > 我们经常遇到处理表格列状态字段如 `status` 的时候可以用到 ``` vue