Spark履歴サーバーの構成
イベント・ロギングが有効な状態で実行されたSparkジョブからイベント・ログを読み込みます。
Spark履歴サーバーは、イベント・ロギングが有効な状態で実行されたSparkジョブからイベント・ログを読み込む方法を提供します。Spark履歴サーバーは、Sparkマスターが履歴ユーザー・インターフェイスを構築しようとする前にファイルがフラッシュされなかった場合にのみ動作します。
手順
Spark履歴サーバーを有効にするには:
-
DSEFSファイル・システムにイベント・ログ用のディレクトリーを作成します。
dse fs 'mkdir -p /spark/events'
-
クラスター内のノードごとに、spark-defaults.confファイルを編集してイベント・ロギングを有効にし、イベント・ログ用のディレクトリーを指定します。
#Turns on logging for applications submitted from this machine spark.eventLog.dir dsefs:///spark/events spark.eventLog.enabled true #Sets the logging directory for the history server spark.history.fs.logDirectory dsefs:///spark/events # Optional property that changes permissions set to event log files # spark.eventLog.permissions=777
-
クラスター内のいずれかのノードでSpark履歴サーバーを起動します。
Spark履歴サーバーは、Sparkクラスター内のすべてのノードからのロギング・データを表示するフロントエンド・アプリケーションです。このサーバーは、クラスター内のどのノードからも起動できます。
認証を有効にしたら、プロパティ・ファイルで認証方法と認証情報を設定して、
dse
コマンドに渡します。たとえば、基本認証の場合は、以下のように入力します。spark.hadoop.com.datastax.bdp.fs.client.authentication.basic.username=role name spark.hadoop.com.datastax.bdp.fs.client.authentication.basic.password=password
spark-defaults.xmlにイベント・ログの場所を設定した場合は、プロパティ・ファイルに
spark.history.fs.logDirectory
プロパティを設定します。spark.history.fs.logDirectory=dsefs:///spark/events
dse spark-history-server start
プロパティ・ファイルを使用する場合:
dse spark-history-server start --properties-file properties file
履歴サーバーが起動し、ブラウザーを開いて
http://node hostname:18080
に移動することで表示できます。注: SparkマスターWeb UIには履歴ログが表示されません。この既知の問題を回避するには、ポート18080から履歴にアクセスします。 -
イベント・ロギングを有効にすると、すべてのログに対するデフォルトの動作は保存されますが、経時的にストレージが増大する原因になります。自動クリーンアップを有効にするには、spark-defaults.confを編集して、以下のオプションを編集します。
spark.history.fs.cleaner.enabled true spark.history.fs.cleaner.interval 1d spark.history.fs.cleaner.maxAge 7d
これらの設定で、自動クリーンアップが有効になり、クリーンアップが毎日実行されて、7日間が経過したログは削除されます。