tencent cloud

弹性 MapReduce

动态与公告
产品动态
产品公告
安全公告
产品简介
产品概述
产品优势
产品架构
产品功能
应用场景
约束与限制
技术支持范围
产品发行版
购买指南
EMR on CVM 计费说明
EMR on TKE 计费说明
EMR Serverless HBase 计费说明
快速入门
EMR on CVM 快速入门
EMR on TKE 快速入门
EMR on CVM 操作指南
规划集群
管理权限
配置集群
管理集群
管理服务
监控告警
智能管家
EMR on TKE 操作指南
EMR on TKE 简介
配置集群
管理集群
管理服务
监控运维
应用分析
EMR Serverless HBase 操作指南
EMR Serverless HBase 产品简介
配额与限制
规划实例
管理实例
监控告警
开发指南
EMR 开发指南
Hadoop开发指南
Spark 开发指南
HBASE开发指南
Phoenix on Hbase 开发指南
Hive 开发指南
Presto开发指南
Sqoop 开发指南
Hue 开发指南
Oozie 开发指南
Flume 开发指南
Kerberos 开发指南
Knox 开发指南
Alluxio 开发指南
Kylin 开发指南
Livy 开发指南
Kyuubi 开发指南
Zeppelin 开发指南
Hudi 开发指南
Superset 开发指南
Impala 开发指南
Druid 开发指南
Tensorflow 开发指南
Kudu 开发指南
Ranger 开发指南
Kafka 开发指南
Iceberg 开发指南
StarRocks 开发指南
Flink 开发指南
JupyterLab 开发指南
MLflow 开发指南
实践教程
EMR on CVM 运维实践
数据迁移实践
自定义伸缩实践教程
API 文档
History
Introduction
API Category
Cluster Resource Management APIs
Cluster Services APIs
User Management APIs
Data Inquiry APIs
Scaling APIs
Configuration APIs
Other APIs
Serverless HBase APIs
YARN Resource Scheduling APIs
Making API Requests
Data Types
Error Codes
常见问题
EMR on CVM常见问题
服务等级协议
联系我们

Druid 使用

PDF
聚焦模式
字号
最后更新时间: 2025-01-03 15:02:25
EMR 支持将 E-MapReduce Druid 集群作为单独的集群类型,主要基于以下几方面的考虑:
使用场景:E-MapReduce Druid 可以脱离 Hadoop 使用来适配不同的业务应用场景。
资源抢占:E-MapReduce Druid 对内存要求比较高,尤其是 Broker节点和 Historical 节点。E-MapReduce Druid 本身资源使用不受 Hadoop YARN 统一调度,运行时容易发生资源抢夺。
集群规模:Hadoop 作为基础设施,其规模一般较大,而 E-MapReduce Druid 集群可能相对较小,部署在同一集群上,由于规模不一致可能造成资源浪费,单独部署则更加灵活。

购买建议

在创建 EMR 集群时选择 Druid 集群类型即可。Druid 集群自带了Hadoop HDFS 和 YARN 服务,并已经和 Druid 集群完成集成。但是建议仅用于测试,对于线上生产环境,强烈推荐您采用专门的 Hadoop 集群。 如果需要关闭 Druid 集群自带的 Hadoop 相关服务,可以在 EMR 控制台 的集群服务页,选择对应服务卡片,单击操作 > 暂停服务对服务进行暂停。

Hadoop 和 Druid 集群连通配置

本节介绍如何配置 Hadoop 集群和 Druid 集群的连通性。如果您使用 Druid 集群自带的 Hadoop 集群(生产环境不推荐这么做),则无须做额外设置即可正常连通使用,可以跳过此节。
如果您需要将索引数据存放在另外一个单独的 Hadoop 集群的 HDFS 上(生产环境推荐这种方式),则首先需要设置两个集群的连通性。具体步骤如下:
1. 确保 Druid 集群和 Hadoop 集群能够正常通信。 两个集群在同一个 VPC 下,或两个集群在不同 VPC,但两个 VPC 之间能够正常通信(如通过云联网或者对等连接)。
2. 在 E-MapReduce Druid 集群的每个节点的 /usr/local/service/druid/conf/druid/_common 路径下,放置一份 Hadoop 集群中 /usr/local/service/hadoop/etc/hadoop 路径下的 core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 文件。
注意
Druid 集群由于自带 Hadoop 集群,因此 Druid 路径下已经提前创建了上述文件的相关软链接,需要先删除,再拷贝另一个 Hadoop 集群的配置过来。同时需要确保文件权限正确,能被 hadoop 用户正常访问。
3. 在 Druid 配置管理中修改 common.runtime.properties 配置文件。修改完成后,保存配置并重启 Druid 集群相关服务。
druid.storage.type:默认为 hdfs,无需修改
druid.storage.storageDirectory:
如果另一个 Hadoop 集群为非 HA:hdfs://{namenode_ip}:4007
如果另一个 Hadoop 集群为 HA:hdfs://HDFSXXXXX
请配置全路径,详细地址可以在目标 Hadoop 集群的 core-site.xml 文件的 fs.defaultFS 配置项里面找到。

使用 COS

E-MapReduce Druid 支持以 COS 作为 deep storage,本节介绍如何使用 COS 作为 Druid 集群的 deep storage。
首先您需要确保 Druid 集群和目标 Hadoop 均开启了 COS 服务,可以在购买 Druid 集群和 Hadoop 集群时开启,也可以购买后在 EMR 控制台进行后配置 COS。
1. 在 Druid 配置管理中修改 common.runtime.properties 配置文件:
druid.storage.type:仍然为 hdfs。
druid.storage.storageDirectory:cosn://{bucket_name}/druid/segments。 可以到 COS 上预先创建并设置 segments 目录和权限。
2. 在 hdfs 配置管理中修改 core-site.xml 配置文件:
fs.cosn.impl :修改为 org.apache.hadoop.fs.CosFileSystem
新增配置项 fs.AbstractFileSystem.cosn.impl:修改为 org.apache.hadoop.fs.CosN
3. hadoop-cos 相关的 jar 包 (例如:cos_api-bundle-5.6.69.jar、hadoop-cos-2.8.5-8.1.6.jar)放到集群各个节点的/usr/local/service/druid/extensions/druid-hdfs-storage、/usr/local/service/druid/hadoopdependencies/hadoop-client/2.8.5、/usr/local/service/hadoop/share/hadoop/common/lib/⽬录下。
保存配置并重启 Druid 集群相关服务。

调整 Druid 参数

E-MapReduce Druid 在创建集群后会自动生成一套配置,不过建议您根据业务需求调整最优内存配置。要调整配置,您可以通过 配置管理 功能进行操作。
调整配置时,请确保调整正确:
MaxDirectMemorySize >= druid.processing.buffer.sizeByte *(druid.processing.numMergeBuffers + druid.processing.numThreads + 1)
调整建议:
druid.processing.numMergeBuffers = max(2, druid.processing.numThreads / 4)
druid.processing.numThreads = Number of cores - 1 (or 1)
druid.server.http.numThreads = max(10, (Number of cores * 17) / 16 + 2) + 30
更多配置请参考 Druid 组件配置

扩展 Router 作为查询节点

当前 Druid 集群默认部署 Broker 进程在 EMR Master 节点上,由于 Master 节点部署较多进程,进程之间影响可能出现内存不够的情况,影响查询效率;同时许多业务也希望查询节点和中心节点分离部署。在这些情况下您可以在控制台扩容一到多个 Router 节点并选择安装 Broker 进程,可以方便的扩展 Druid 集群的查询节点。

访问 Web

统一通过 console 访问 Druid 集群,端口开在主节点的18888端口,可以自行配置公网 IP,在安全组中开通18888的端口并设置带宽后,即可通过 [http://{masterIp}:18888]() 访问。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈