hadoop - 5.6 GB 对 Cloudera 来说还不够吗?

标签 hadoop out-of-memory development-environment cloudera

我在笔记本电脑和 Oracle VirtualBox VM 上运行 Cloudera Hadoop。 我已经从我的 8 核中分配了 5.6 GB,从八核中分配了 6 GB。 而且我仍然无法保持它的正常运行。 即使没有负载服务也不会保持正常运行,当我尝试查询时至少 Hive 会在 20 分钟内关闭。有时它们像多米诺骨牌一样倒下:一个接一个。

更多的内存似乎对某些人有所帮助:使用 3GB 和所有服务时,当 Hue 本身设法启动时,Hue 正在闪烁红色。重新启动后,我需要 30 到 60 分钟才能使系统启动到足以尝试在其上运行任何东西。

有两个明智的注意事项(我设法找到了): - 交换警告。 - 当系统使用 26 GB 的虚拟内存不足时出现崩溃。

我的数据集不到一兆,所以很难理解为什么系统会上升到几十千兆,但不管是什么原因已经过去了:现在系统在 5.6 GB 左右运行得更稳定我在关闭了一些服务后给了它:看看我对自己的回答。

而且它仍然更加稳定。就在我收到交换警告后,Hive 再次关闭。如果 VM 开始交换,导致所有 Hadoop 服务或多或少停止运行的原因可能是什么?

我没有足够的声誉将图片发布到此处,但是当 Hive 再次出现故障时,它每秒交换 13 页并使用 5.9 GB/5.6 GB。所以基本上我的系统在开始交换后或多或少地开始崩溃。 “在过去的 15 分钟内,428 个页面被交换到磁盘”

就硬盘而言,我使用了默认安装选项。 唯一增加的是 Windows 和 VM 之间的共享文件夹。这有点奇怪地一直锁定文件,所以我像使用 FTP 一样使用它,并且只用于将文件从一个系统传递到另一个系统。因此,我可以几天不使用它,但系统仍然会崩溃,所以这也不是原因。

现在系统基本正常运行,服务仍然每天崩溃两次:Service Monitor 和 Hive 的崩溃频率相当。紧随其后的是 Activity Monitor 和 Event Server,它们似乎总是一起崩溃。我相信 Yarn 也会崩溃,但它会自行恢复。上次 Hive 先崩溃,然后 Service Monitor、Hive(第二次)、Activity Monitor 和 Event Server 都崩溃了。


由于swap是磁盘,可能是磁盘的问题:

# cat /etc/fstab
# swapoff -a
# badblocks -v /dev/VolGroup/lv_swap
Checking blocks 0 to 8388607
Checking for bad blocks (read-only test): done                                
Pass completed, 0 bad blocks found.
# badblocks -vw /dev/VolGroup/lv_swap
Checking for bad blocks in read-write mode
From block 0 to 8388607
Testing with pattern 0xaa: done                                
Reading and comparing: done                                
Testing with pattern 0x55: done                                
Reading and comparing: done                                
Testing with pattern 0xff: done                                
Reading and comparing: done                                
Testing with pattern 0x00: done                                
Reading and comparing: done                                
Pass completed, 0 bad blocks found.

所以交换磁盘没有问题,我也没有在其他任何地方发现任何磁盘错误。

请注意,您也可以从 Windows 端检查文件系统。但我预计,如果你让 Windows 修复你的 Linux 文件系统,你很有可能会因此而毁掉你的 Linux,所以我进行了一些悲观的检查,因为据我所知,这些命令可以安全执行。

最佳答案

大约一半的服务一直在下降,因此提供更多细节将是一个很长的故事。

我通过关闭flume、hbase、impala、ks_indexer、oozie、spark和sqoop,成功让系统更加稳定。并通过为一些提示没有获得足够内存的剩余服务增加更多内存。

我还修复了 Windows 方面的一些问题,我不确定其中哪一个有帮助: - MsMpEng.exe 让我的硬盘一直忙碌。我没有杀死它的权限,但我将它的优先级降低到尽可能低的水平。 - CcmExec.exe 在我的 DVD 上循环播放并一直阅读它。我通过从驱动器中取出 DVD 解决了这个问题。然后后来我杀死了进程树以防止它暂时被打扰。 我使用 Windows 资源管理器找到了这些。

关于hadoop - 5.6 GB 对 Cloudera 来说还不够吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24824064/

相关文章:

mysql - java.sql.SQLException : expection being thrown for SQOOP import 异常

pig 中的正则表达式匹配

XAMPP:您的连接不是私有(private)的 NET::ERR_CERT_AUTHORITY_INVALID

ruby-on-rails - 在生产模式下运行 rails app 不会在终端中显示生产服务器日志。并显示错误浏览器出现问题

android - SDK 选项不适用于 Eclipse 中的 Kindle Fire?

hadoop - 无法在 Windows 10 中启动 Spark Master

hadoop - hadoop map的实际用法减少 hive pig 的hbase

android - 内存不足错误 : Using a image which is 1080*1920 do the splash page

linux - 如何限制一组docker容器的内存资源?

java - 内存不足错误 : Java heap space while converting some bulk data to toString()