簡體   English   中英

hadoop windows(工作正常)linux java堆空間

[英]hadoop windows (work ok) linux java heap space

這是我的問題:首先,我正在使用 hadoop 和單節點配置,我正在開發一個應用程序,我只做了一個映射函數,在這個映射函數中,我調用了 10 個函數,應用程序從 csv 文件中讀取並處理某個列,我已經制作了 jar 文件和所有內容,因此當我在 4 GB RAM 機器上的 Windows(Windows 7)(使用 cygwin)上使用 4000 行的 csv 運行此應用程序時,該應用程序工作正常,但是當我在 linux-ubuntu 的 2 GB RAM 機器上運行它,它處理一些行,但隨后拋出“Java 堆空間”錯誤,或者有時線程被終止。

對於 linux:我已經嘗試更改應用程序上的 hadoop 導出 HEAP_SIZE 以及 Xmx 和 Xms 參數,它產生了一些差異但不是太大,錯誤仍然發生......

你知道為什么會這樣嗎? 是因為機器之間4GB和2GB的RAM差異嗎?

我在使用映射器時遇到的一件事是,如果您調用/使用從map函數內啟動自己線程的函數/對象,這可以輕松創建足夠的線程來使用該 JVM 的所有堆空間。 每個映射器都會調用一次setupcleanup函數。 在我的情況下,我能夠處理並將我的所有數據放入ArrayList ,然后在cleanup函數中進行我需要的額外處理。

暫無
暫無

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

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