組み込み Hive メタストア¶
Denodo 組み込み MPP には、S3、ADLS、GCS、または HDFS からオブジェクトストレージファイルをテーブルにマッピングするメタデータリポジトリとして機能する組み込み Hive メタストアが付属しています。
この組み込み Hive メタストアは、 組み込み PostgreSQL にメタデータを保存します。
values.yaml
の metastore
セクションでは、Embedded PostgreSQL へのコネクションを構成します。
metastore:
enabled: true
connectionUrl: "jdbc:postgresql://postgresql:5432/metastore"
connectionDriverName: "org.postgresql.Driver"
connectionDatabase: "metastore"
connectionUser: "hive"
connectionPassword: "hive"
postgresql:
enabled: true
組み込み Hive メタストアで別の外部データベース (PostgreSQL、MySQL、SQL Server、または Oracle) を使用することも選択できます。外部で管理されているデータベースを選択することには、メタデータがクラスタのライフサイクルの外部で保持されるというメリットがあります。また、インストール可能な RDBMS のタイプ、バックアップ、メンテナンスなどを制限するポリシーが存在する場合、外部で管理されているデータベースが唯一の選択肢になることもあります。
外部データベースを構成するには、 metastore.connectionXXX
の各パラメータにコネクション詳細を入力します。Denodo 組み込み MPP の Kubernetes クラスタから外部データベースにアクセスできることを確認してください。また、 postgresql.enabled=false
を指定して組み込み PostgreSQL を無効にし、組み込み PostgreSQL がデプロイされないようにすることも忘れないでください。
metastore:
enabled: true
connectionUrl: "jdbc:sqlserver://xxxx.database.windows.net:1433;..."
connectionDriverName: "com.microsoft.sqlserver.jdbc.SQLServerDriver"
connectionDatabase: "metastore"
connectionUser: "user@DOMAIN"
connectionPassword: "mypassword"
postgresql:
enabled: false
connectionUrl: 組み込み Hive メタストアのデータベースの JDBC コネクション文字列。以下の値を指定できます。
組み込み PostgreSQL
jdbc:postgresql://postgresql:5432/metastore
(デフォルト)外部 PostgreSQL
外部 MySQL
外部 SQL Server
外部 Oracle
connectionDriverName: 組み込み Hive メタストアのデータベースに接続する JDBC ドライバークラス名。以下の値を指定できます。
org.postgresql.Driver
(PostgreSQL の場合、デフォルト)org.mariadb.jdbc.Driver
(MySQL の場合)com.microsoft.sqlserver.jdbc.SQLServerDriver
(SQL Server の場合)oracle.jdbc.OracleDriver
(Oracle の場合)
また、外部データベース(PostgreSQL、MySQL、SQL Server、または Oracle) の初期化スクリプトが hive-metastore/scripts
にあり、 Denodo 組み込み MPP をデプロイする前 に外部データベースで実行する必要があります。
データベース |
サポートされている最小バージョン |
---|---|
Postgres |
9.1.13 |
MySQL |
5.6.17 |
MS SQL Server |
2008 R2 |
Oracle |
11g |
Kubernetes の CPU とメモリの管理¶
Kubernetes は、CPU とメモリに対する リソースの要求と制限事項 に基づいて、ノード間でポッドをスケジュールします。コンテナーポッドが requests で特定の値の CPU やメモリを要求した場合、Kubernetes は、それらのリソースを保証できるノードにのみ、そのポッドをスケジュールします。一方、limits は、コンテナーポッドが使用するリソースが決して一定値を超えないことを保証します。
metastore:
resources:
limits:
cpu: 1
memory: 1Gi
requests:
cpu: 1
memory: 1Gi
resources
は、Kubernetes クラスタ管理者が選択できるように、コメントアウトされています。