簡體   English   中英

如何從 AWS 日志中讀取 stderr 日志

[英]How to read stderr logs from AWS logs

我正在使用 EMR 步驟來運行我的作業。 通常,當我想分析作業的性能或了解它失敗的原因時,我會查看 Spark 歷史服務器以獲取 DAG 可視化和作業錯誤等。例如,如果作業由於堆錯誤或 Fetchfailed 而失敗,等等,我可以在火花歷史服務器中清楚地看到它。 但是,當我查看寫入 LOG URI S3 存儲桶的 stderr 日志文件時,我似乎無法找到此類描述。 有沒有辦法獲得這樣的信息? 我使用pyspark並將日志級別設置為

sc = spark.sparkContext
sc.setLogLevel('DEBUG') 

關於我做錯了什么的任何見解?

我還沒有真正對此進行過測試,但是由於評論有點長,所以我將其發布在這里作為答案。

正如我在評論中指出的那樣,您使用 Spark History Server UI 查看的日志與從 EMR 保存到 S3 的Spark 驅動程序日志不同。

要將 spark 歷史服務器日志寫入 S3,您必須向集群添加一些額外的配置。 這些配置選項在 Spark 文檔的監控和檢測部分中進行了描述。

在 AWS EMR 中,您可以嘗試將類似這樣的內容添加到您的集群配置中:

...

{
  'Classification': 'spark-defaults',
  'Properties': {
    'spark.eventLog.dir': 's3a://your_bucket/spark_logs',
    'spark.history.fs.logDirectory': 's3a://your_bucket/spark_logs',
    'spark.eventLog.enabled': 'true'
  }
}

...

我發現這篇有趣的帖子描述了如何為 Kubernetes 集群設置它,您可能需要查看它以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM