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 セキュリティのベスト プラクティスをご覧ください。

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

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

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

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