クラスタ プロパティ

Cloud Dataproc クラスタにインストールされているオープンソース コンポーネントには、数多くの構成ファイルが含まれています。たとえば、Apache Spark と Apache Hadoop には XML と書式なしテキストの構成ファイルがいくつか含まれています。こうした構成ファイルに対して更新や追加が必要になることがあります。クラスタの作成時に、Cloud SDK に含まれる gcloud dataproc clusters create コマンドの ‑‑properties フラグを使用すると、多くの一般的な構成ファイルを変更できます。

properties フラグの仕組み

ファイルとプロパティを簡単に更新するには、gcloud dataproc clusters create --properties フラグの特別な形式を使用して、構成ファイルおよびファイル内の更新対象のプロパティと値を指定します。

書式設定

--properties フラグには、次の形式のテキスト文字列が必要です。

file_prefix:property=value

--properties フラグを使用すると、よく使用される特定の構成ファイルだけを変更できます。file_prefix は、定義済みの構成ファイルのセットにマッピングされます。

file_prefix ファイル ファイルの用途
capacity-scheduler capacity-scheduler.xml Hadoop YARN キャパシティ スケジューラの構成
core core-site.xml Hadoop 全般構成
distcp distcp-default.xml Hadoop 分散コピー構成
hadoop-env hadoop-env.sh Hadoop 固有の環境変数
hdfs hdfs-site.xml Hadoop HDFS 構成
hive hive-site.xml Hive 構成
mapred mapred-site.xml Hadoop MapReduce 構成
mapred-env mapred-env.sh Hadoop MapReduce 固有の環境変数
pig pig.properties Pig 構成
presto config.properties Presto 構成
presto-jvm jvm.config Presto 固有の JVM 構成
spark spark-defaults.conf Spark 構成
spark-env spark-env.sh Spark 固有の環境変数
yarn yarn-site.xml Hadoop YARN 構成
yarn-env yarn-env.sh Hadoop YARN 固有の環境変数
zeppelin zeppelin-site.xml Zeppelin の構成
zeppelin-env zeppelin-env.sh Zeppelin 固有の環境変数(オプション コンポーネントのみ)
zookeeper zoo.cfg Zookeeper の構成

注意事項

  • 一部のプロパティは予約され、Cloud Dataproc クラスタの機能に影響するため、上書きすることはできません。予約済みのプロパティを変更しようとすると、クラスタを作成するときにエラー メッセージが表示されます。
  • 複数の変更を指定する場合は、各変更をカンマで区切ります。
  • --properties フラグでは、上記以外の構成ファイルは変更できません。
  • 現時点では、Google Cloud Platform Console でクラスタを作成するときにプロパティを変更することはできません。
  • プロパティの変更は、クラスタに対するデーモンが起動するに適用されます。
  • 指定したプロパティが存在する場合は、そのプロパティが更新されます。指定したプロパティが存在しない場合は、そのプロパティが構成ファイルに追加されます。

Cloud Dataproc サービスのプロパティ

上記ファイルに含まれていない Cloud Dataproc 固有の追加のプロパティがあります。これらのプロパティは、Cloud Dataproc クラスタの機能をさらに構成するのに使用できます。

特性 機能
dataproc:am.primary_only true または false このプロパティを true に設定すると、アプリケーション マスターが Cloud Dataproc クラスタ プリエンプティブ ワーカーで実行されなくなります。: この機能は、Cloud Dataproc 1.2 以降でのみ使用できます。デフォルト値は false です。
dataproc:dataproc.allow.zero.workers true または false Cloud Dataproc clusters.create API リクエストで、この SoftwareConfig プロパティを true に設定して、単一ノードクラスタを作成します。これにより、ワーカーのデフォルト数が 2 から 0 に変更され、ワーカー コンポーネントがマスターホストに配置されます。また、単一ノードクラスタを GCP Console や gcloud コマンドライン ツールを使用して作成することもでき、その際ワーカー数を 0 に設定します。
dataproc:dataproc.conscrypt.provider.enable true または false Conscrypt をプライマリ Java セキュリティ プロバイダとして有効(true)または無効(false)にします。: Conscrypt は、Dataproc 1.2 以降ではデフォルトで有効になっていますが、1.0 / 1.1 では無効になっています。
dataproc:dataproc.localssd.mount.enable true または false ローカル SSD を Hadoop / Spark 一時ディレクトリおよび HDFS データ ディレクトリとしてマウントするかどうか(デフォルト: true)。
dataproc:dataproc.logging.stackdriver.enable true または false Stackdriver へのロギングを有効(true)または無効(false)にします(デフォルト: true)。
dataproc:dataproc.logging.stackdriver.job.driver.enable true または false Logging への Cloud Dataproc ジョブドライバ ログの記録を有効(true)または無効(false)にします(デフォルト: false)。
dataproc:dataproc.logging.stackdriver.job.yarn.container.enable true または false Logging への YARN コンテナログの記録を有効(true)または無効(false)にします(デフォルト: false)。
dataproc:dataproc.monitoring.stackdriver.enable true または false Stackdriver Monitoring Agent を有効(true)または無効(false)にします。
dataproc:jobs.file-backed-output.enable true または false Cloud Dataproc ジョブが /var/log/google-dataproc-job ディレクトリ内の一時ファイルに出力をパイプするように構成します。Logging へのジョブドライバ ログの記録を有効にするには、true に設定する必要があります(デフォルト: true)。
dataproc:jupyter.notebook.gcs.dir gs://<dir-path> Jupyter ノートブックを保存する Cloud Storage 内の場所。
dataproc:kerberos.cross-realm-trust.admin-server hostname/address リモート管理サーバーのホスト名 / アドレス(たいてい KDC サーバーと同じ)。
dataproc:kerberos.cross-realm-trust.kdc hostname/address リモート KDC のホスト名 / アドレス。
dataproc:kerberos.cross-realm-trust.realm realm name レルム名には大文字の ASCII 文字列を使用できます。通常レルム名は、使用している DNS ドメイン名と同じです(大文字)。例: マシンの名前が「machine-id.example.west-coast.mycompany.com」の場合、それに対応するレルムは「EXAMPLE.WEST-COAST.MYCOMPANY.COM」と指定します。
dataproc:kerberos.cross-realm-trust.shared-password.uri gs://<dir-path> KMS 暗号化共有パスワードの Cloud Storage 内の場所。
dataproc:kerberos.kdc.db.key.uri gs://<dir-path> KDC データベース マスターキーを含む KMS 暗号化ファイルの Cloud Storage 内の場所。
dataproc:kerberos.key.password.uri gs://<dir-path> キーストア ファイル内のキーのパスワードを含む KMS 暗号化ファイルの Cloud Storage 内の場所。
dataproc:kerberos.keystore.password.uri gs://<dir-path> キーストアのパスワードを含む KMS 暗号化ファイルの Cloud Storage 内の場所。
dataproc:kerberos.keystore.uri1 gs://<dir-path> クラスタノードによって使用されるワイルドカード証明書と秘密鍵を含むキーストア ファイルの Cloud Storage 内の場所。
dataproc:kerberos.kms.key.uri KMS key URI root パスワードの復号に使用される KMS 鍵の URI。たとえば、projects/project-id/locations/region/keyRings/key-ring/cryptoKeys/key鍵のリソース ID を参照)。
dataproc:kerberos.root.principal.password.uri gs://<dir-path> Kerberos root プリンシパルの KMS 暗号化パスワードの Cloud Storage 内の場所。
dataproc:kerberos.tgt.lifetime.hours hours チケットを付与するチケットの最大存続時間。
dataproc:kerberos.truststore.password.uri gs://<dir-path> トラストストア ファイルに対するパスワードを含む KMS 暗号化ファイルの Cloud Storage 内の場所。
dataproc:kerberos.truststore.uri2 gs://<dir-path> 信頼された証明書を含む KMS 暗号化トラストストア ファイルの Cloud Storage 内の場所。
zeppelin:zeppelin.notebook.gcs.dir gs://<dir-path> Zeppelin ノートブックを保存する Cloud Storage 内の場所。

1 キーストア ファイル: キーストア ファイルには SSL 証明書が含まれています。ファイルの形式は Java KeyStore(JKS)です。このファイルの名前は、VM にコピーされるときに keystore.jks に変更されます。SSL 証明書は、クラスタ内の各ノードに適用されるワイルドカード証明書です。

2 トラストストア ファイル: トラストストア ファイルの形式は Java KeyStore(JKS)です。VM にコピーされるときに、このファイルの名前は truststore.jks に変更されます。

gcloud コマンド

spark-defaults.conf ファイルの spark.master 設定を変更するには、コマンドラインで新しいクラスタを作成するときに次の properties フラグを追加します。
--properties 'spark:spark.master=spark://example.com'
1 つ以上の構成ファイルで複数のプロパティを一度に変更する場合は、区切り文字としてカンマを使用します。各プロパティは完全な file_prefix:property=value 形式で指定する必要があります。たとえば、spark-defaults.conf ファイルの spark.master 設定と hdfs-site.xml ファイルの dfs.hosts 設定を変更するには、クラスタを作成するときに次のフラグを追加します。
--properties 'spark:spark.master=spark://example.com,hdfs:dfs.hosts=/foo/bar/baz'

REST API

spark.executor.memory10g に設定するには、clusters.create リクエストの SoftwareConfig セクションに次の properties 設定を挿入します。
"properties": {
  "spark:spark.executor.memory": "10g"
}

Console

現在、GCP Console の Cloud Dataproc [クラスタの作成] ページからクラスタを追加することはできません。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Dataproc ドキュメント
ご不明な点がありましたら、Google のサポートページをご覧ください。