запуск Nutch 1.15 в кластере Hadoop2.7.2 в режиме развертывания занимает больше времени, чем в локальном режиме - PullRequest
0 голосов
/ 25 марта 2019

Я использую Nutch 1.15 с кластером hadoop 2.7.2 (Стандартный A4m v2 (4 vcpus, 32 ГБ памяти), имеющий 1 главный / подчиненный узел и 3 подчиненных узла, я попытался отсканировать 9 URL-адресов и настроил mapreduce.job.reduces = 10, topN = 9000 (1000 URL / хост), глубина = 4, generate.max.count = 1000 и mapreduce.map/reduce.java.opts= -Xmx4g Насколько я понимаю, crawl-generate будет иметь 10 частей по одной для каждого хоста, и каждая часть будет содержать (max urls = 9000/10 = 900 urls) но то, что я вижу, состоит в том, что несколько частей не имеют записей, а несколько частей содержат URL-адреса нескольких хостов, верно ли мое понимание Сканирование завершается с указанной выше конфигурацией за 35 минут

когда я запускаю 9 URL в локальном режиме без hadoop / hdfs (4 экземпляра этого локального режима), сканирование завершается за 23 минуты конфигурация для локального режима mapreduce.job.reduces = н / д topN = 1000 (так как один URL / хост выбирается за раз) глубина = 4, генерировать

ниже приведен фрагмент журнала, в котором я вижу, что выходные записи карты всегда составляют половину записей разлива

            Map input records=814
            Map output records=2025
            Map output bytes=96541492
            Map output materialized bytes=45547532
            Input split bytes=648
            Combine input records=0
            Combine output records=0
            Reduce input groups=981
            Reduce shuffle bytes=45547532
            Reduce input records=2025
            Reduce output records=2025
            Spilled Records=4050
            Shuffled Maps =8
            Failed Shuffles=0
            Merged Map outputs=8
            GC time elapsed (ms)=5260
            CPU time spent (ms)=143320
            Physical memory (bytes) snapshot=7797211136
            Virtual memory (bytes) snapshot=38557540352
            Total committed heap usage (bytes)=8712617984

и ниже - моя конфигурация mapred-site.xml

    <property>
  <name>mapreduce.map.memory.mb</name>
  <value>5012</value>
</property>

<property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>5012</value>
</property>

<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Xmx4g -XX:+UseCompressedOops</value>
</property>

<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Xmx4g -XX:+UseCompressedOops</value>
</property>
<property> 
  <name>mapreduce.job.maps</name>
  <value>2</value>
  <description>
    define mapred.map tasks to be number of slave hosts
  </description> 
</property> 

<property> 
  <name>mapreduce.job.reduces</name>
  <value>4</value>
  <description>
    define mapred.reduce tasks to be number of slave hosts
  </description> 
</property> 
<property> 
  <name>mapreduce.reduce.shuffle.parallelcopies</name>
  <value>10</value>
</property> 
<property> 
  <name>mapreduce.task.io.sort.factor</name>
  <value>100</value>
</property> 
<property> 
  <name>mapreduce.task.io.sort.mb</name>
  <value>1048</value>
</property>
<property> 
  <name>mapreduce.map.output.compress</name>
  <value>true</value>
</property>
<property> 
  <name>mapreduce.map.output.compress.codec</name>
  <value>org.apache.hadoop.io.compress.DefaultCodec</value>
</property>

что я делаю не так или чего мне не хватает?

...