前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EMR Druid 使用S3协议使用COS

EMR Druid 使用S3协议使用COS

原创
作者头像
王旭平
修改2023-01-09 16:41:50
1.9K1
修改2023-01-09 16:41:50
举报
文章被收录于专栏:大数据生态大数据生态

注,该方法只支持cos普通桶,且访问权限为 私有读写。

添加S3的支持

 common.runtime.properties中的 druid.extensions.loadList 中添加 "druid-s3-extensions" 。最终如下

代码语言:javascript
复制
druid.extensions.loadList=["druid-s3-extensions","druid-hdfs-storage","mysql-metadata-storage","druid-kafka-indexing-service","druid-datasketches","druid-kerberos","druid-histogram","druid-lookups-cached-global"]

添加S3的配置

common.runtime.properties 中修改 druid.storage.type、druid.indexer.logs.type 为 s3;

新增druid.s3.accessKey、druid.s3.secretKey、druid.s3.endpoint.signingRegion、druid.s3.endpoint.url、druid.storage.baseKey、druid.storage.bucket 、druid.indexer.logs.s3Bucket、druid.indexer.logs.s3Prefix配置项

配置项

解释

druid.storage.type

druid的深度存储的类型

druid.s3.accessKey

对应的是cos的secretId

druid.s3.secretKey

对应的是cos的SecretKey

druid.s3.endpoint.signingRegion

对应的是cos桶所在地域,例如ap-guangzhou,ap-beijing

druid.s3.endpoint.url

对应的是cos服务地址,形式为:cos.<Region>.myqcloud.com

druid.storage.bucket

深度存储桶的名称,对应的是cos桶的名称,格式为<BucketName-APPID>

druid.storage.baseKey

深度存储桶中的路径,对应的是cos桶中的存储路径

druid.indexer.logs.type

druid的索引日志文件存储类型

druid.indexer.logs.s3Bucket

druid的索引日志文件使用的存储桶的名称,对应的是cos桶的名称,格式为<BucketName-APPID>

druid.indexer.logs.s3Prefix

druid的索引日志文件存储桶中的路径,对应的是cos桶中的存储路径

例如添加广州的一个cos桶,配置如下:

代码语言:javascript
复制
druid.storage.type=s3
druid.s3.accessKey=xxxxxxxxx
druid.s3.secretKey=yyyyyyyyyyy
druid.storage.baseKey=druid/segments3
druid.storage.bucket=wangxp-12xxxxx
druid.s3.endpoint.signingRegion=ap-guangzhou
druid.s3.endpoint.url=cos.ap-guangzhou.myqcloud.com

druid.indexer.logs.type=s3
druid.indexer.logs.s3Bucket=wangxp-12xxxxx
druid.indexer.logs.s3Prefix=druid/indexing-logs

重启druid的所有服务

在控制台重启各个druid的服务

(可选)更新数据

如果需要从s3中迁移数据到cos中,则需要在导入数据后,变更一下桶的名称

代码语言:javascript
复制
---使用 druid 库
use druid ;

--导入元数据,建议操作前,先备份
source  /root/druid_output_file.sql ;

--替换存储桶的名称,就bucket 中的值,例如将druidsegments.test 桶名替换为 druidsegment-1314626
update druid.druid_segments  set `payload` = replace(payload,'payload,'druidsegments.test','druidsegment-1314626');

注,如果数据量较大,建议导入前先停止druid服务,否则可能产生大量的错误日志和缓存。

验证

在druid的web页面中 Load data 中选择 Local disk

然后在Base director中输入 /usr/local/service/druid/quickstart/tutorial/wikiticker-2015-09-12-sampled.json.gz ,File filter中选择*.json.gz ,点击 Apply,然后点击下一步

之后一直点击下一步,到有 Primary partitioning (by time)这个页面上Segment granularity上选择hour

然后继续点击下一步,最后点击提交按钮

提交后调整到task页面,可以看到刚才提交的任务

待任务成功后,可以在segments 页面看到对应的 segment,点击查看原数据信息,此时可以看到配置都是s3的。

最后在cos上也可以看到生成的目录

参考:

https://cloud.tencent.com/document/product/436/41284

https://druid.apache.org/docs/latest/development/extensions-core/s3.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加S3的支持
  • 添加S3的配置
  • 重启druid的所有服务
  • (可选)更新数据
  • 验证
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档