Hive メタストア クラスタを作成して保護する

概要

Dataproc クラスタを作成すると、Apache Hive アプリケーションとそのコンポーネント(Hive メタストアなど)がクラスタにインストールされ、デフォルトのパスワードがクラスタ マスターノードにある hive-site.xml ファイルに設定されます。

以下の目標を達成するために、独自の Hive メタストア パスワードを指定することをおすすめします。

  • 独自のパスワードを指定してローカル Hive メタストアへのアクセスを確実に制御するためのベスト プラクティスのセキュリティ対策

  • 異なるクラスタ間で共有される外部データベースで使用される外部 Hive メタストアへのアクセスを制御する既知のパスワードを指定する

Hive メタストアのパスワードを設定する

次の Google Cloud CLI Dataproc clusters create コマンドを実行して Dataproc クラスタを作成し、Hive メタストアのパスワードを指定します。

gcloud dataproc clusters create cluster-name
 --properties="hive:javax.jdo.option.ConnectionPassword=HIVE_METASTORE_PASSWORD"

注:

  • Cloud Key Management Service で鍵を作成するには、鍵の作成をご覧ください。
  • Hive メタストアのパスワードは、クラスタ マスターノードにのみ保存され、ワーカーノードには保存されません。

Dataproc クラスタの保護の詳細については、Dataproc セキュリティのベスト プラクティスをご覧ください。

サポートされていないシナリオ

Dataproc は、デフォルトの Hive メタストア パスワードとユーザー指定の Hive メタストア パスワードのどちらを使用するかに関わらず、次の Hive メタストア シナリオをサポートしていません。

  • クラスタモードで実行される Spark ドライバで埋め込みメタストア クライアントを使用するため、ワーカーノードには Hive パスワードが必要です。このシナリオでは、Dataproc マスターノードで実行されている HiveMetaStore プロセスを介して接続が行われないため、メタストア データベースとの接続の問題が発生する可能性があります。

  • 独自の MySQL データベースを使用するために、Hive メタストアと hive-server2 を無効にします。このシナリオでは、spark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://CLUSTER_NAME-m/metastore プロパティは効果がありません。