5.2. 存储位置
Metering 是一个已弃用的功能。弃用的功能仍然包含在 OpenShift Container Platform 中,并将继续被支持。但是,这个功能会在以后的发行版本中被删除,且不建议在新的部署中使用。
有关 OpenShift Container Platform 中已弃用或删除的主要功能的最新列表,请参阅 OpenShift Container Platform 发行注记中已弃用和删除的功能部分。
StorageLocation
自定义资源配置 Reporting Operator 存储数据的位置。其中包括从 Prometheus 收集的数据,以及通过生成 Report
自定义资源所产生的结果。
如果您要在多个位置(如多个 S3 存储桶或 S3 和 HDFS)存储数据,或者需要访问并非由 metering 在 Hive 和 Presto 中创建的数据库,您只需配置 StorageLocation
自定义资源。对于大多数用户来说,这不是必须的。有关配置 metering 的文档足以配置所有必要存储组件。
5.2.1. 存储位置示例
以下示例显示了内置的本地存储选项,并配置为使用 Hive。默认情况下,数据存储在 Hive 配置为使用存储的位置,如 HDFS、S3 或 ReadWriteMany
持久性卷声明(PVC)。
本地存储示例
apiVersion: metering.openshift.io/v1 kind: StorageLocation metadata: name: hive labels: operator-metering: "true" spec: hive: 1 databaseName: metering 2 unmanagedDatabase: false 3
以下示例将 AWS S3 存储桶用于存储。在构造要使用的路径时,前缀会附加至存储桶名称中。
远程存储示例
apiVersion: metering.openshift.io/v1
kind: StorageLocation
metadata:
name: example-s3-storage
labels:
operator-metering: "true"
spec:
hive:
databaseName: example_s3_storage
unmanagedDatabase: false
location: "s3a://bucket-name/path/within/bucket" 1
- 1
- 可选:用于数据库的 Presto 和 Hive 的文件系统 URL。可为
hdfs://
或s3a://
文件系统 URL。
hive
部分还可指定其他一些可选字段:
-
defaultTableProperties
:包含使用 Hive 创建表的配置选项。 -
FileFormat
:存储在文件系统中的文件格式。如需选项列表和更多详情,请参阅文件存储格式 Hive 文档。 -
rowFormat
:控制 Hive 行格式。该字段控制行的序列化和反序列化方式。更多详情请参阅行格式和 SerDe Hive 文档。
5.2.2. 默认存储位置
如果存在 storagelocation.metering.openshift.io/is-default
注解,且该注解在 StorageLocation
资源上被设置为 true
,则该资源将成为默认存储资源。任何组件在存储配置选项中没有指定存储位置时,都将使用默认存储资源。只能有一个默认存储资源。如果多个资源都存在注解,则会记录一个错误,因为 Reporting Operator 无法确定默认值。
默认存储示例
apiVersion: metering.openshift.io/v1 kind: StorageLocation metadata: name: example-s3-storage labels: operator-metering: "true" annotations: storagelocation.metering.openshift.io/is-default: "true" spec: hive: databaseName: example_s3_storage unmanagedDatabase: false location: "s3a://bucket-name/path/within/bucket"