2014-11-20 78 views
0

我有一個大的Spark羣集(80臺機器),而且我在運行我的作業(在大數據集上)時遇到問題。 爲了調試這個,我需要看看每臺機器上的Spark日誌發生了什麼,尤其是錯誤。尋找日誌監控和遠程複製機制

目前我需要ssh到每臺機器(他們是GCE機器),並看看那裏的特定文件。這是不可擴展的,我正在尋找更好的解決方案。

我想在每臺機器上有一種代理,跟蹤某個根文件夾,每隔X分鐘一次,將其下的所有文件複製到某個遠程位置(GCS)。

有沒有這樣的現有框架,還是我需要在這裏發明輪子?

+0

您可以使用[Salt](http://www.saltstack.com/)。 Salt只是讓你在一組機器上運行相同的命令。所以你基本上會要求salt執行你用來下載所有服務器上日誌的命令。然後可以將salt命令添加爲cron作業。 – Anant 2014-11-21 05:26:36

回答

1

FluentdLogstash可以完成將日誌收集到中央位置(例如Elasticsearch)的工作。你可以看到Kibana,Hive(HDFS)或其他的日誌。雖然這兩個代理的功能都是相似的,但我建議使用Fluentd,因爲它現在變得非常流行,因此谷歌將它用於Google Clould平臺中的默認羣集日誌收集。在Kubernetes集羣使用Fluentd,Elasticsearch和Kibana https://github.com/GoogleCloudPlatform/kubernetes/blob/master/contrib/logging/fluentd-ek/README.md

0

記錄莢最後,我用簡單的東西。我在所有工作人員中設置了一個cronjob,將文件複製到雲中的存儲桶中。這樣,存儲區包含所有位置的所有日誌文件。但是,在這種情況下,我並不需要鹽,因爲我在所有工人中預安裝了cron作業,併爲所有這些GCE機器使用了啓動腳本。