spark.eventLog.dir和spark.history.fs.logDirectory有什么区别?

Ran*_*yer 9 apache-spark

在Spark中,事件日志目录和历史服务器日志目录之间有什么区别?

spark.eventLog.dir hdfs:///var/log/spark/apps
spark.history.fs.logDirectory hdfs:///var/log/spark/apps
Run Code Online (Sandbox Code Playgroud)

kik*_*ell 14

从Apache Spark的官方文档:

spark.eventLog.dir如果spark.eventLog.enabled为true,则是记录Spark事件的基本目录.在此基本目录中,Spark为每个应用程序创建一个子目录,并将特定于该应用程序的事件记录在此目录中.用户可能希望将其设置为统一位置(如HDFS目录),以便历史记录服务器可以读取历史记录文件.

请参阅spark.eventLog.dir.

spark.history.fs.logDirectory用于文件系统历史记录提供程序,即包含要加载的应用程序事件日志的目录的URL.这可以是本地file://路径,HDFS路径hdfs:// namenode/shared/spark-logs或Hadoop API支持的备用文件系统.

请参阅spark.history.fs.logDirectory.

spark.eventLog.dirspark.history.fs.logDirectory在Spark History Server查找日志事件的位置生成日志.

  • 它们应该始终相同吗? (2认同)
  • 是的,根据[Spark Monitoring](http://spark.apache.org/docs/latest/monitoring.html)上的文档,"必须将spark作业本身配置为记录事件,并将它们记录到同一共享,可写目录.例如,如果服务器配置了hdfs:// namenode/shared/spark logs的日志目录,那么客户端选项将是:spark.eventLog.enabled true spark.eventLog.dir hdfs: //名称节点/共享/火花日志" (2认同)
  • 它们可以不同,否则就不会有2个变量。根据我的理解,如果 `spark.eventLog.dir=dir1` 而 `spark.history.fs.logDirectory=dir2` ,则当前 Spark 的事件将写入 dir1,而历史服务器从 dir2 读取数据(可能来自另一个 Spark 安装) )。也就是说,历史服务器不依赖于当前的spark安装,可以指向任何包含历史数据(*.lz4文件)的文件夹。 (2认同)