Как изменить максимальные возможности контейнера в кластере Hadoop

Я установил RHADOOP на HORTONWORKS SANDBOX, следуя этим инструкциям: http://www.research.janahang.com/install-rhadoop-on-hortonworks-hdp-2-0/

Кажется, все установлено правильно. Но когда я запускаю тестовый скрипт внизу, я получаю сообщение об ошибке, и мне кажется, что - (требуемая возможность REDUCE превышает поддерживаемую максимальную емкость контейнера в кластере. Уничтожение задания. ReduResourceReqt: 4096 maxContainerCapability:2250), скорее всего, моя вопрос.

Как я могу установить maxcontainercapability? или исправить эту проблему? любая помощь будет приветствоваться. Спасибо

Ошибка вывода здесь:

Be sure to run hdfs.init()
14/09/09 14:29:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for     your platform... using builtin-java classes where applicable
14/09/09 14:29:27 WARN hdfs.BlockReaderLocal: The short-circuit local reads feature     cannot be used because libhadoop cannot be loaded.
packageJobJar: [] [/usr/lib/hadoop-mapreduce/hadoop-streaming-2.4.0.2.1.1.0-385.jar]     /tmp/streamjob4407691883964292767.jar tmpDir=null
14/09/09 14:29:29 INFO client.RMProxy: Connecting to ResourceManager at     sandbox.hortonworks.com/192.168.32.128:8050
14/09/09 14:29:29 INFO client.RMProxy: Connecting to ResourceManager at     sandbox.hortonworks.com/192.168.32.128:8050
14/09/09 14:29:31 INFO mapred.FileInputFormat: Total input paths to process : 1
14/09/09 14:29:32 INFO mapreduce.JobSubmitter: number of splits:2
14/09/09 14:29:32 INFO mapreduce.JobSubmitter: Submitting tokens for job:     job_1410297633075_0001
14/09/09 14:29:33 INFO impl.YarnClientImpl: Submitted application     application_1410297633075_0001
14/09/09 14:29:33 INFO mapreduce.Job: The url to track the job:     http://sandbox.hortonworks.com:8088/proxy/application_1410297633075_0001/
14/09/09 14:29:33 INFO mapreduce.Job: Running job: job_1410297633075_0001
14/09/09 14:29:42 INFO mapreduce.Job: Job job_1410297633075_0001 running in uber mode :     false
14/09/09 14:29:42 INFO mapreduce.Job:  map 100% reduce 100%
14/09/09 14:29:43 INFO mapreduce.Job: Job job_1410297633075_0001 failed with state     KILLED due to: MAP capability required is more than the supported max container capability     in the cluster. Killing the Job. mapResourceReqt: 4096 maxContainerCapability:2250
Job received Kill while in RUNNING state.
REDUCE capability required is more than the supported max container capability in the     cluster. Killing the Job. reduceResourceReqt: 4096 maxContainerCapability:2250

14/09/09 14:29:43 INFO mapreduce.Job: Counters: 2
    Job Counters
            Total time spent by all maps in occupied slots (ms)=0
            Total time spent by all reduces in occupied slots (ms)=0    
14/09/09 14:29:43 ERROR streaming.StreamJob: Job not Successful!
Streaming Command Failed!
Error in mr(map = map, reduce = reduce, combine = combine, vectorized.reduce,  :
hadoop streaming failed with error code 1
Calls: wordcount -> mapreduce -> mr
Execution halted
14/09/09 14:29:49 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion     interval = 360 minutes, Emptier interval = 0 minutes.
Moved: 'hdfs://sandbox.hortonworks.com:8020/tmp/file1f937beb4f39' to trash at:     hdfs://sandbox.hortonworks.com:8020/user/root/.Trash/Current

2 ответа

Решение

Эту проблему с памятью было нелегко исправить, однако я переключился на платформу Cloudera, и все заработало как задумано.

Чтобы сделать это на Hortonworks 2.1, мне пришлось

  1. увеличить память VirtualBox с 4096 до 8192 (не знаю, было ли это строго необходимо)
  2. Включено Ambari с http://my.local.host:8000/
  3. Войдите в Ambari с http://my.local.host:8080/
  4. изменить значения yarn.nodemanager.resource.memory-mb и yarn.scheduler.maximum-alloc-mb по умолчанию на 4096
  5. Сохраните и перезапустите все (через Ambari)

Это помогло мне избежать ошибок, связанных с необходимостью, но фактическое wordcount.R, похоже, не хочет завершать. Однако такие вещи, как hdfs.ls("/data") работают.

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