R Память Hadoop

Я пытаюсь запустить распределенную реализацию кластеризации kmeans на hadoop с rmr2 (на кластере с одной машиной с Hadoop 2.6.0-cdh5.4.2 в псевдо-распределенном режиме). Пока размер файла данных (в HDFS) невелик (около 1000 точек данных), он работает нормально.

Но по мере того, как я увеличиваю количество точек до 5000, что все еще довольно мало (размер файла данных составляет всего ~1 МБ), он начинает выдавать следующие ошибки:

container_1473314686409_0005_01_000006 работает за пределами физической памяти. Текущее использование: 1,5 ГБ из 1 ГБ физической памяти; Используется 3,2 ГБ из 2,1 ГБ виртуальной памяти. Убить контейнер.

Я уже пробовал следующее из какого-то другого поста, но это не имеет никакого влияния:

rmr.options(backend.parameters = 
  list(
    hadoop = 
      list(
        D = "mapred.map.memory.mb=2048",
        D = "mapred.reduce.memory.mb=2048",           
        D = "mapred.map.java.opts=-Xmx400M",
        D = "mapred.reduce.java.opts=-Xmx400M"
    )
   )

Моя версия ОС: Linux quickstart.cloudera 2.6.32-358.el6.x86_64 #1 SMP пт 22 февраля 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Прежде всего, я не понимаю, почему для обработки небольшого файла требуется> 1G памяти.

Во-вторых, я хочу масштабировать реализацию до огромных наборов данных (по крайней мере, для нескольких ГБ). Как я могу это сделать?

Наконец, я обнаружил, что большинство, если не все посты R-hadoop довольно старые, люди перестали работать над R-hadoop после 2014 года? Spark-R - лучший вариант?

Любая помощь в этом направлении будет оценена.

0 ответов

Другие вопросы по тегам