4.4.2. Hive メタストアに MySQL または PostgreSQL を使用する
メータリングのデフォルトインストールは、Hive を Derby という組み込み Java データベースを使用するすように設定します。これは大規模な環境には適していませんが、MySQL または PostgreSQL データベースのいずれかに置き換えることができます。デプロイメントで Hive に MySQL または PostgreSQL データベースが必要な場合は、以下の設定ファイルのサンプルを使用します。
3 つの設定オプションを使用して、Hive メタストアで使用されるデータベースを制御できます (url
、driver
、および secretName
)。
ユーザー名とパスワードで MySQL または Postgres インスタンスを作成します。次に、OpenShift CLI または YAML ファイルを使用してシークレットを作成します。このシークレット用に作成する secretName は、MeteringConfig リソースの spec.hive.spec.config.db.secretName フィールドにマップする必要があります。
OpenShift CLI でシークレットを作成するには、以下のコマンドを使用できます。
$ oc --namespace openshift-metering create secret generic <YOUR_SECRETNAME> --from-literal=username=<YOUR_DATABASE_USERNAME> --from-literal=password=<YOUR_DATABASE_PASSWORD>
YAML ファイルを使用してシークレットを作成するには、以下のサンプルファイルを使用します。
apiVersion: v1 kind: Secret metadata: name: <YOUR_SECRETNAME> 1 data: username: <BASE64_ENCODED_DATABASE_USERNAME> 2 password: <BASE64_ENCODED_DATABASE_PASSWORD> 3
以下の設定ファイルのサンプルを使用して、Hive に MySQL データベースを使用します。
spec:
hive:
spec:
metastore:
storage:
create: false
config:
db:
url: "jdbc:mysql://mysql.example.com:3306/hive_metastore"
driver: "com.mysql.jdbc.Driver"
secretName: "REPLACEME" 1
- 1
- base64 で暗号化されたユーザー名およびパスワードのデータベース認証情報が含まれるシークレットの名前。
spec.hive.config.url
を使用して追加の JDBC パラメーターを渡すことができます。詳細は MySQL Connector/J のドキュメント を参照してください。
以下の設定ファイルのサンプルを使用して、Hive に PostgreSQL データベースを使用します。
spec: hive: spec: metastore: storage: create: false config: db: url: "jdbc:postgresql://postgresql.example.com:5432/hive_metastore" driver: "org.postgresql.Driver" username: "REPLACEME" password: "REPLACEME"
URL を使用して追加の JDBC パラメーターを渡すことができます。詳細は、PostgreSQL JDBC ドライバーのドキュメント を参照してください。