Win10环境借助DockerDesktop部署最新版大数据时序数据库Apache Druid32.0.0
前言
大数据分析中,有一种常见的场景,那就是时序数据,简言之,数据一旦产生绝对不会修改,随着时间流逝,每个时间点都会有个新的状态值。这种时序数据的量级往往异常夸张,例如传感器的原始监控数据:
https://lizhiyong.blog.csdn.net/article/details/114898620
一个简单的加速度传感器一年的数据量就是31e!!!制造业传感器数据如果不经底层PLC
等下位机预处理,直接打到边缘计算网关,即使mqtt
也会有巨大的负载!!!
类似的,还有服务器的原始监控数据,例如常见的Prometheus
和Zabbix
,当集群很多时,监控项同样很多,再算上虚拟化后的容器和虚拟机内都可能部署了监控,此时的数据量级就灰常可观!!!一小时几百亿条数据都是常见的事情!!!
但是很多原始的监控数据如果全部存下来,存储成本高的可怕,同时信息密度极低,更多时候我们可能只关注近期的全部热数据来做在线的模型训练,人工查看每秒钟几千条数据也是不切合实际的,事实上,做一个简单的秒级/分钟级统计就能满足大多数的分析场景,超过1天的冷数据其实已经没什么时效性。
对于此类场景,可以高吞吐、预聚合的数据库,在压测后,从Apache Druid
、Clickhouse
、Kylin
中,选择了前者。。。专业的事情要交给专业的组件去做!!!
对于非内核和二开的业务开发人员,更多场景应该关注的是API、特性及用法,不应该在部署这种事情上花费太多精力!!!笔者之前已部署了Docker Desktop:
https://lizhiyong.blog.csdn.net/article/details/145580868
今天在Win10环境再搭建个Apache Druid
最新版玩玩。
版本选择
官网:
https://druid.apache.org/
注意不是阿里数据库连接池的那个Druid
!!!
截至2025-02-13
,Apache Druid
最新版本是32.0.0
。
资源准备
参考官网:
https://druid.apache.org/docs/latest/tutorials/docker
官方给出了使用docker-compose.yml
编排容器的教程,作为一个实时组件,大内存是必须的!!!但是启动8个容器【Zookeeper
+PostgreSQL
+6个Druid
】每个最多7GB内存也不是什么大事!!!
https://raw.githubusercontent.com/apache/druid/32.0.0/distribution/docker/docker-compose.yml
获取到这个资源文件:
version: "2.2"
volumes:
metadata_data: {
}
middle_var: {
}
historical_var: {
}
broker_var: {
}
coordinator_var: {
}
router_var: {
}
druid_shared: {
}
services:
postgres:
container_name: postgres
image: postgres