因需要接触到apache druid,从0开始学习,做一个记录。
先去官网了解基础的信息:官网链接如下:
https://druid.apache.org/docs/latest/design/index.html
了解一些druid的基础知识后,开始搭建druid的环境。先获取到druid,可以在https://druid.apache.org/downloads.html官网处下载,点击download按钮后,跳转到下载界面,选择镜像下载。
获取到druid之后,我们准备先现实druid的单点环境部署。不过需要注意的是druid不支持windows,以及只能支持jdk8以上版本。将druid包移动到linux环境下,解压完,目录结构如下:
其中bin目录存储的是启动等脚本文件,conf目录存放的是各个节点的配置文件,extensions存放的是druid的扩展插件,Hadoop-dependencies存的是hadoop的依赖项,lib目录存放的是druid的核心库和依赖,quickstart存放的是官网快速启动教程的一些文件数据。var目录一开始是没有的,存放的是个节点的运行日志以及本地深度存储数据存放的位置。
在该目录下运行命令./bin/start-micro-quickstart 即可开启命令。如果报错,可以去看一下各个节点的日志,
在var/sv路径下,如图:
一般都是端口占用或者之前开的进程没有杀死的问题,前者去修改节点配置文件的端口,后者需要使用fuser -n tcp 节点端口号查看对应进程,并使用kill -9 进程号 杀死。
如果不知道节点的配置文件在哪,可以打开运行脚本,查看脚本运行的配置文件,
可以在对应的目录下找到对应的配置文件。启动命令,输出以下日志没报错即可算启动成功。
这时候可以打开对应的控制台:到这里单机环境就部署起来了
元数据存储设置:druid的元数据储默认是在本地的,可以将元数据存储在mysql中,具体的配置如下:
首先,在本地的mysql中新建一个druid库:
在本地查询中执行以下命令:
-- create a druid database, make sure to use utf8mb4 as encoding
CREATE DATABASE druid DEFAULT CHARACTER SET utf8mb4;
-- create a druid user
CREATE USER 'druid'@'localhost' IDENTIFIED BY 'diurd';
-- grant the user all the permissions on the database we just created
GRANT ALL PRIVILEGES ON druid.* TO 'druid'@'localhost';
得到新建的库如下图:
然后在druid的conf/druid/single-server/micro-quickstart/_common/目录下,修改vi common.runtime.properties以下配置
修改为对应本地的mysql配置,注意如果是调用远程的linux主机,使用本地的mysql库的话,需要把本地的防火墙关掉。然后添加mysql扩展文件:
下载地址:http : //central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
将扩展文件添加到如下位置:
extensions/mysql-metadata-storage/
完成以上步骤即配好了mysql元数据。此时如果你有摄取数据,可以在mysql上看到对应的信息,如下页面上的task任务可以在刚才新建的druid库中的tasks表中查到对应的信息,而对应的存储数据是存在深度存储中,我们暂时使用的单点,深度存储使用本地的: