翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Spark アプリケーションログ
この設定は、次の方法で定義できます。
apiVersion: "sparkoperator.k8s.io/v1beta2" kind: SparkApplication metadata: name: spark-pi namespace:namespacespec: type: Scala mode: cluster imagePullPolicy: Always mainClass: org.apache.spark.examples.SparkPi mainApplicationFile: "local:///usr/lib/spark/examples/jars/spark-examples.jar" sparkVersion: "3.3.1" emrReleaseLabel:emr_release_labelexecutionRoleArn:job_execution_role_arnrestartPolicy: type: Never volumes: - name: "test-volume" hostPath: path: "/tmp" type: Directory driver: cores: 1 coreLimit: "1200m" memory: "512m" labels: version: 3.3.1 volumeMounts: - name: "test-volume" mountPath: "/tmp" executor: cores: 1 instances: 1 memory: "512m" labels: version: 3.3.1 volumeMounts: - name: "test-volume" mountPath: "/tmp" monitoringConfiguration: image: "log_agent_image" s3MonitoringConfiguration: logUri: "S3_bucket_uri" cloudWatchMonitoringConfiguration: logGroupName: "log_group_name" logStreamNamePrefix: "log_stream_prefix" sideCarResources: limits: cpuLimit: "500m" memoryLimit: "250Mi" containerLogRotationConfiguration: rotationSize: "2GB" maxFilesToKeep: "10"
次に、monitoringConfiguration で使用できる設定オプションを示します。
イメージ (オプション) – エージェントイメージ URL を記録します。指定しない場合、emrReleaseLabel で取得されます。
s3MonitoringConfiguration – このオプションを設定して Amazon S3 にアーカイブします。
logUri (必須) – ログの保存先への Amazon S3 バケットパス。最初の例は、ログローテーションが有効になっていないことを示しています。
s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout.gz s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr.gzデフォルトで、ログローテーションが有効になっています。ローテーションするファイル (インデックスを復活させて) と現在のファイル (日付スタンプがないファイル) の両方を使用できます。
s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout_YYYYMMDD_index.gz s3://${logUri}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr_YYYYMMDD_index.gz
cloudWatchMonitoringConfiguration - Amazon CloudWatch への転送をセットアップするための設定キー。
logGroupName (必須) - ログの送信となる CloudWatch ロググループの名前。このグループが存在しない場合は自動的にこのグループが作成されます。
logStreamNamePrefix (オプション) – ログの送信先となるログストリームの名前。デフォルト値は空の文字列です。CloudWatch の形式は次のとおりです。
${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stdout ${logStreamNamePrefix}/${APPLICATION NAME}-${APPLICATION UID}/${POD NAME}/stderr
sideCarResources (オプション) – 起動した Fluentd サイドカーコンテナにリソース制限を設定するための設定キー。
memoryLimit (オプション) – メモリ制限。必要に応じて調整してください。デフォルトは 250Mi です。
cpuLimit – CPU 制限。必要に応じて調整してください。デフォルトは 500m です。
containerLogRotationConfiguration (オプション) – コンテナログローテーションの動作を制御します。このエージェントは、デフォルトでは有効になっています。
rotationSize (必須) - ログローテーションのファイルサイズを指定します。指定できる値の範囲は 2 KB~2 GB です。rotationSize パラメータの数値単位部分は整数として渡されます。小数値はサポートされていないため、値 1500 MB などに 1.5 GB のローテーションサイズを指定できます。デフォルトは 2 GB です。
maxFilesToKeep (必須) — ローテーションが行われた後にコンテナに保持するファイルの最大数を指定します。最小値は 1 です。最大値は 50 です。デフォルトは 10 です。
monitoringConfiguration を設定したら、Amazon S3 バケット、CloudWatch、またはその両方で Spark アプリケーションドライバーとエグゼキュターのログを確認できます。Amazon S3 バケットの場合、最初のログファイルがフラッシュされるまで 2 分待つ必要があります。例えば、Amazon S3 では、バケットパスは以下のようになります:
[Amazon S3] > [バケット] > [バケット名] > [Spark アプリケーション名 - UUID] > [ポッド名] > [stderr.gz]
または:
[Amazon S3] > [バケット] > [バケット名] > [Spark アプリケーション名 - UUID] > [ポッド名] > [stdout.gz]
CloudWatch では、パスは以下のようになります:
[loudWatch] > [ロググループ] > [ロググループ名] > [Spark アプリケーション名 - UUID]/[ポッド名]/[stdout.gz]
または:
[loudWatch] > [ロググループ] > [ロググループ名] > [Spark アプリケーション名 - UUID]/[ポッド名]/[stdout]