IMG

最近接触aws比较多,然后研究了下实时数仓druid/kylin的部分,数据是存在s3桶中,driud连接s3的文章介绍不多,只有官方有一点点介绍,不详细,这里记录下。druid的扩展很多,有一部分是官方维护,一部分是社区维护,也可以自己定制自己的扩展 具体的列表见:https://druid.apache.org/docs/latest/development/extensions.html

1. 首先需要在druid添加s3的扩展

  • 根据自己的启动方式,选择该目录下的配置文件,我是用micro-quickstart模式启动的,配置文件目录如下:

    apache-druid-0.17.0/conf/druid/single-server/micro-quickstart/_common/common.runtime.properties

  • 在27行添加 druid-s3-extensions:

    druid.extensions.loadList=["druid-hdfs-storage", "druid-kafka-indexing-service", "druid-datasketches","druid-s3-extensions"]

  • 重新启动,就可以看到原来灰色的s3,已经可用。

druid

2.设置AWS凭证

druid

AWS官方推荐使用设置凭证方式.第一种也很方便,直接在driud的 apache-druid-0.17.0/conf/druid/single-server/micro-quickstart/_common/common.runtime.properties 配置文件中有相应的注释打开设置key即可。

添加默认的aws配置文件到机器

默认凭证配置文件–通常位于 ~/.aws/credentials(此位置可能因平台而异),此凭证文件由多个 AWS 开发工具包和 AWS CLI 共享。AWS SDK for Java使用 ProfileCredentialsProvider 加载这些凭证。

在本地系统上的 AWS 凭证配置文件中设置凭证,该配置文件位于:

  • Linux, macOS, or Unix 上的 ~/.aws/credentials

  • Windows 上的 C:\Users\USERNAME\.aws\credentials

此文件应包含以下格式的行:

1
2
3
[default]
aws_access_key_id = your_access_key_id
aws_secret_access_key = your_secret_access_key

用您自己的 AWS 凭证值替换值 your_access_key_id 和 your_secret_access_key

3.设置AWS区域

如果未选择区域,则默认情况下将使用us-east-1。

使用设置凭证以设置默认 AWS 区域:

在本地系统上的 AWS 配置文件中设置 AWS 区域,该文件位于:

  • Linux, macOS, or Unix 上的 ~/.aws/config

  • Windows 上的 C:\Users\USERNAME\.aws\config

此文件应包含以下格式的行:

1
2
[default]
region = your_aws_region

使用所需的 AWS 区域(例如“us-west-2”)替换 your_aws_region

参考: https://druid.apache.org/docs/latest/development/extensions-core/s3.html#reading-data-from-s3 https://docs.aws.amazon.com/zh_cn/sdk-for-java/v1/developer-guide/setup-credentials.html