Druid 集群方式部署 —— 元数据和深度存储
2021/8/6 6:06:20
本文主要是介绍Druid 集群方式部署 —— 元数据和深度存储,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
配置 metadata 存储和深度存储(deep storage)
从独立服务器部署上合并到集群
如果您已经有一个独立服务器的部署实例,并且希望在整个迁移过程中保留数据,请在对元数据进行迁移之前先阅读:
- metadata migration
- deep storage migration
本指南中的元数据迁移是针对你将原数据存储在 Derby 数据库中,同时你的深度存储也是使用的 Derby 数据库。
如果你在单实例部署的服务器上已经使用了非 Derby 的数据库存储元数据或者分布式深度存储的那,那么你可以在新的集群环境中使用已经存在并且使用的存储方案。
本指南还提供了从本地深度存储中进行段合并的信息。
集群环境的部署是需要配置深度存储的,例如 S3 或 HDFS。
如果单实例部署已在使用分布式深度存储,则可以在新集群中继续使用当前的深度存储。
元数据存储
在 conf/druid/cluster/_common/common.runtime.properties
配置文件中,替换 “metadata.storage.*” 的的属性来确定元数据存储的服务器地址。
元数据通常是存储在数据库中的,因此你可以在这里配置你的数据库服务器地址。
druid.metadata.storage.connector.connectURI
druid.metadata.storage.connector.host
在实际的生产环境中,我们推荐你使用独立的元数据存储数据库例如 MySQL 或者 PostgreSQL 来增加冗余性。
这个配置将会在 Druid 服务器外部配置一个数据库连接来保留一套元数据的配置信息,以增加数据冗余性。
MySQL extension 和 PostgreSQL extension
页面中有如何对扩展进行配置和对数据库如何进行初始化的说明,请参考上面页面中的内容。
深度存储
Druid 依赖分布式文件系统或者一个大对象(blob)存储来对数据进行存储。
最常用的深度存储的实现通常使用的是 S3 (如果你使用的是 AWS 的话)或者 HDFS(如果你使用的是 Hadoop 部署的话)。
S3
在文件 conf/druid/cluster/_common/common.runtime.properties
,
- 添加 “druid-s3-extensions” 到
druid.extensions.loadList
。 - 在 “Deep Storage” 和 “Indexing service logs” 部分的配置中,注释掉本地存储的配置。
- 在 “Deep Storage” 和 “Indexing service logs” 部分的配置中,取消注释 “For S3” 部分有关的配置。
在完成上面的操作后,你的配置文件应该看起来和下面的内容相似:
druid.extensions.loadList=["druid-s3-extensions"] #druid.storage.type=local #druid.storage.storageDirectory=var/druid/segments druid.storage.type=s3 druid.storage.bucket=your-bucket druid.storage.baseKey=druid/segments druid.s3.accessKey=... druid.s3.secretKey=... #druid.indexer.logs.type=file #druid.indexer.logs.directory=var/druid/indexing-logs druid.indexer.logs.type=s3 druid.indexer.logs.s3Bucket=your-bucket druid.indexer.logs.s3Prefix=druid/indexing-logs
请参考 S3 extension 页面中的内容来获得更多的信息。
HDFS
在文件 conf/druid/cluster/_common/common.runtime.properties
,
- 添加 “druid-hdfs-storage” 到
druid.extensions.loadList
。 - 在 “Deep Storage” 和 “Indexing service logs” 部分的配置中,注释掉本地存储的配置。
- 在 “Deep Storage” 和 “Indexing service logs” 部分的配置中,取消注释 “For HDFS” 部分有关的配置。
在完成上面的操作后,你的配置文件应该看起来和下面的内容相似:
druid.extensions.loadList=["druid-hdfs-storage"] #druid.storage.type=local #druid.storage.storageDirectory=var/druid/segments druid.storage.type=hdfs druid.storage.storageDirectory=/druid/segments #druid.indexer.logs.type=file #druid.indexer.logs.directory=var/druid/indexing-logs druid.indexer.logs.type=hdfs druid.indexer.logs.directory=/druid/indexing-logs
同时,
- 在你 Druid 启动进程的的 classpath 中,请替换掉你的 Hadoop 配置 XMLs 文件(core-site.xml, hdfs-site.xml, yarn-site.xml,
mapred-site.xml),或者你可以直接拷贝上面的文件到conf/druid/cluster/_common/
中。
请参考 HDFS extension 页面中的内容来获得更多的信息。
这篇关于Druid 集群方式部署 —— 元数据和深度存储的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-082024年常用的情绪识别API
- 2025-01-07如何利用看板工具优化品牌内容创作与审批,确保按时发布?
- 2025-01-07百万架构师第十一课:源码分析:Spring 源码分析:Spring源码分析前篇|JavaGuide
- 2025-01-07质量检测标准严苛,这 6 款办公软件达标了吗?
- 2025-01-07提升品牌活动管理的效率:看板工具助力品牌活动日历的可视化管理
- 2025-01-07宠物商场的精准营销秘籍:揭秘看板软件的力量
- 2025-01-07“30了,资深骑手” | 程序员能有什么好出路?
- 2025-01-07宠物公园的营销秘籍:看板软件如何帮你精准触达目标客户?
- 2025-01-07从任务分解到资源优化:甘特图工具全解析
- 2025-01-07企业升级必备指南:从传统办公软件到SaaS工具的转型攻略