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

发布于 2024-09-30 03:58:42 字数 428 浏览 5 评论 0原文

这是我的问题: 首先,我正在使用 hadoop 和单节点配置 我正在开发一个应用程序,我只制作了一个地图函数,在这个地图函数中我调用了大约 10 个函数, 该应用程序从 csv 文件读取并处理特定列,我已经制作了 jar 文件和所有内容,因此当我在 4 GB RAM 计算机上的 Windows(Windows 7)(使用 cygwin)上使用包含 4000 行的 csv 运行此应用程序时,该应用程序工作正常,但是当我在 2 GB RAM 计算机上的 linux-ubuntu 上运行它时,它处理一些行,但随后抛出“Java 堆空间”错误,或者有时线程被终止。

对于Linux: 我已经尝试更改 hadoop 导出 HEAP_SIZE 以及应用程序上的 Xmx 和 Xms 参数,它产生了一些差异,但不是太大,错误仍然发生......

你知道为什么会发生吗?是因为机器的 4GB 和 2GB RAM 不同吗?

Here is my problem:
First of all I'm working with hadoop and a single node configuration
I'm developing an application and I made just one map function, in this map function I call like 10 functions,
the application reads from a csv file and process a certain column, I already made the jar file and everything so when I run this app with a csv with 4000 rows on windows (windows 7) (using cygwin) on a 4 GB RAM machine, the application works fine, but when I run it on linux- ubuntu on a 2 GB RAM machine, it process some rows but then it throws a "Java heap space" error, or sometimes the thread is killed.

For the linux:
I already tried to change the hadoop export HEAP_SIZE and also the Xmx and Xms parameters on the app and it made some difference but not too much, the error stills happening...

Do you know why it s happening? its because the 4GB and 2GB of RAM difference between machines?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鸩远一方 2024-10-07 03:58:42

我在使用映射器时遇到的一件事是,如果您调用/使用从 map 函数内启动自己线程的函数/对象,这可以轻松创建足够的线程来使用该 JVM 的所有堆空间。
每个映射器都会调用一次 setupcleanup 函数。在我的情况下,我能够处理所有数据并将其放入 ArrayList 中,然后在 cleanup 函数中进行所需的额外处理。

One thing I ran into with a mapper is if you call/use functions/objects that start their own threads from within the map function, this can easily create enough threads to use all the heap space for that JVM.
Each mapper will have the setup and cleanup function called once. In my situation I was able to process and put into an ArrayList all my data, then do the additional processing I needed in the cleanup function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文