【问题标题】:5.6 GB not enough for Cloudera?Cloudera 5.6 GB 不够用?
【发布时间】:2014-07-18 11:33:29
【问题描述】:

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

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

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

我的数据集不到 1 MB,因此很难理解为什么系统会达到数十 GB,但不管是什么原因已经过去了:现在系统在 5.6 GB 附近运行得更加稳定在关闭一些服务后,我已经放弃了它:请参阅我对自己的回答。

而且它仍然更加稳定。就在我收到交换警告之后,Hive 又掉了下来。如果虚拟机开始交换,所有 Hadoop 服务或多或少都会停止的原因是什么?

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

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

现在系统已基本启动,服务仍然每天崩溃两次:Service Monitor 和 Hive 的崩溃频率相当平稳。之后是活动监视器和事件服务器,它们似乎总是一起崩溃。我相信 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,所以我做了一些悲观的检查,因为 AFAIK 这些命令可以安全地执行。

【问题讨论】:

  • 你还没有说明你的问题。 “无法保持正常运行”并不是问题。
  • 您需要指定数据集的大小?你的块大小是多少?

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


【解决方案1】:

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

通过关闭flume、hbase、impala、ks_indexer、oozie、spark和sqoop,我成功地使系统更加稳定。并且通过增加一些剩余的服务来抱怨他们没有得到足够的内存。

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

【讨论】:

    【解决方案2】:

    VM 需要 4GB:http://www.cloudera.com/content/cloudera-content/cloudera-docs/DemoVMs/Cloudera-QuickStart-VM/cloudera_quickstart_vm.html 你应该使用它。

    我不清楚您是否使用的是 QuickStart VM。它设置为仅运行基本服务,并经过调整以节省内存而不是利用大量内存。

    听起来您正在一台虚拟机上运行您自己的安装,在您的 Windows 机器上。您可能在一台台式机上运行整个集群的服务价值。这些服务中的每一个都有主进程、工作进程、监控进程等。你不需要它们中的大部分。

    您也可能将内存设置保留为默认适合 16+ GB RAM 的服务器级机器。请记住,这些服务通常在多台机器上运行,而不是全部运行在一台机器上。

    最后,你显然是在交换,这让事情变得异常缓慢。请记住,这也是通过虚拟机完成的!

    最重要的是,如果您确实想要正确调整单机集群,请使用 QuickStart VM。如果你想要一个真正的集群或更多的服务,你需要更多的硬件。

    【讨论】:

    • 嗨,肖恩。我使用了这个 QuickStart VM 堆栈,是的。如果打开硬件要求,似乎说需要 8 BG:cloudera.com/content/support/en/downloads/quickstart_vms/… 而且文件大小是 3.7 GB,不再是 3 GB,所以信息似乎不是最新的。我是不是成功下载了“周一”版,和平时不一样?在我看来,我有很多主进程监视一个从进程。如果我打算扩展环境,这很好,但我相信大多数使用它的人都没有。
    • 版本 5.4.20 使用 2.5GB 虚拟内存,速度慢
    【解决方案3】:

    另外考虑:cloudera.com/live 包含完整的 CDH 5.1 集群 + 示例数据,在 AWS 上按需运行。当然,VM 的优势在于您可以 BYOD,但如果您只是想亲身体验 Hadoop,Live 是一个不错的选择。

    【讨论】:

      猜你喜欢
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多