![](/img/trans.png)
[英]Exposing Spark Driver and Worker stdout stderr logs in Kubernetes to History Server
[英]Exposing Spark Worker (stdout stderr) logs in Kubernetes
我有一個Spark集群,其中一個Master和4個Worker在一個3節點Kubernetes集群中運行。 Spark UI和Master通過Ingress / NodePort公開,因此可以從Kubernetes集群外部進行訪問。
但是,工作端口未暴露。 因此,無法通過UI訪問Worker日志(stdout和stderr)。 日志URL將被重定向到<Worker1_Pod_IP:8080>
和<Worker2_Pod_IP:8080>
,依此類推。
我的設置是在同一台計算機上運行兩個工作容器。 因此,即使我的NodePort暴露了工作程序,端口也將發生沖突,因為將為計算機上的兩個工作程序分配相同的端口。 Spark History服務器僅提供事件日志,而不提供輔助日志。
如何解決呢? 有沒有一種方法可以為工作人員動態分配NodePort值
我相信您是在談論SPARK_WORKER_WEBUI_PORT
而不是SPARK_WORKER_PORT
如下所述,因為它分配了一個隨機端口。
這有點棘手,因為每個節點只能公開一個端口。 如果每個節點有兩個SPARK_WORKER_WEBUI_PORT
以為節點創建兩個部署,一個部署在8081
上公開SPARK_WORKER_WEBUI_PORT
,另一個在8082
上公開,並確保每個節點僅調度一個Pod。
您可以在容器環境變量中傳遞這些值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.