4.4. Hive メタストアの設定
Hive メタストアは、Presto および Hive で作成されるデータベーステーブルに関するすべてのメタデータを保管します。デフォルトで、メタデータはこの情報を、Pod に割り当てられる PersistentVolume
のローカルの組み込み Derby データベースに保管します。
通常、Hive メタストアのデフォルト設定は小規模なクラスターで機能しますが、ユーザーは Hive メタストアデータを格納するための専用の SQL データベースを使用することで、クラスターのパフォーマンスを改善したり、ストレージ要件の一部をクラスターから外したりできます。
4.4.1. PersistentVolume の設定
デフォルトで、Hive が動作するために 1 つの PersistentVolume が必要になります。
Hive-metastore-db-data
は、デフォルトで必要となる主な PersistentVolumeClaim (PVC) です。この PVC は Hive メタストアによって、テーブル名、列、場所などのテーブルに関するメタデータを保存するために使用されます。Hive メタストアは、Presto および Hive サーバーによって、クエリーの処理時にテーブルメタデータを検索するために使用されます。この要件は、Hive メタストアデータベースに MySQL または PostgreSQL を使用することで削除できます。
インストールするには、Hive メタストアで StorageClass を使用して動的ボリュームプロビジョニングを有効にし、適切なサイズの永続ボリュームを手動で事前に作成するか、または既存の MySQL または PostgreSQL データベースを使用する必要があります。
4.4.1.1. Hive メタストア用のストレージクラスの設定
hive-metastore-db-data
PVC に StorageClass を設定し、指定するには、StorageClass を MeteringConfig に指定します。StorageClass セクションのサンプルは以下の metastore-storage.yaml
ファイルに含まれます。
apiVersion: metering.openshift.io/v1
kind: MeteringConfig
metadata:
name: "operator-metering"
spec:
hive:
spec:
metastore:
storage:
# Default is null, which means using the default storage class if it exists.
# If you wish to use a different storage class, specify it here
# class: "null" 1
size: "5Gi"
- 1
- この行のコメントを解除し、
null
を使用する StorageClass の名前に置き換えます。値をnull
のままにすると、メータリングはクラスターのデフォルトの StorageClass を使用します。
4.4.1.2. Hive メタストアのボリュームサイズの設定
以下の metastore-storage.yaml
ファイルをテンプレートとして使用します。
apiVersion: metering.openshift.io/v1
kind: MeteringConfig
metadata:
name: "operator-metering"
spec:
hive:
spec:
metastore:
storage:
# Default is null, which means using the default storage class if it exists.
# If you wish to use a different storage class, specify it here
# class: "null"
size: "5Gi" 1
- 1
size
の値を必要な容量に置き換えます。このサンプルファイルは "5Gi" を示しています。