我有一個正在運行的Spark集群,其中有一個主節點和一些作業節點在Kubernetes上運行。這個集群已經被用于多個Spark提交作業,并且正在運行。
在主節點上,我使用$SPARK_HOME/sbin/start-history-server.sh腳本和一些配置啟動了一個Spark歷史服務器,以確定歷史服務器的日志應該寫入哪里:
spark.eventLog.enabled=true
spark.eventLog.dir=...
spark.history.fs.logDirectory=...
spark.hadoop.fs.s3a.access.key=...
spark.hadoop.fs.s3a.secret.key=...
spark.hadoop.fs.s3a.endpoint=...
spark.hadoop.fs.s3a.path.style.access=true
這是在集群運行一段時間后進行的。服務器正在將日志寫入一個外部資料庫(minIO使用s3a協議)。
現在,每當我提交 spark 作業時,似乎在我指定的位置上什么都沒有被寫走。
我想知道以下問題。作業者如何知道我已經在主節點上啟動了 spark 歷史服務器?我是否需要以某種方式將其傳達給作業者?
我已經檢查過的可能的原因:
uj5u.com熱心網友回復:
剛剛找到了答案:你的工人將知道在哪里存盤日志的方法是通過向你的spark-submit作業提供以下配置:
spark.eventLog.enabled=true
spark.eventLog.dir=...
spark.history.fs.logDirectory=...
在你的驅動程式上的spark-defaults.conf里有這些可能也足夠了,這就是為什么我找不到很多這方面的資訊,因為我沒有把它加到我的spark-defaults.conf里。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/328346.html
標籤:
