Ustanawiam nowy klaster i otrzymuję błąd z executora mapreduce hazelcast:
java.util.concurrent.RejectedExecutionException: Executor[mapreduce::hz::default] is overloaded
Używając sprężyny, konfiguruję jobtracker w następujący sposób:
<hz:jobtracker name="default" max-thread-size="8" queue-size="0"/>
Zgodnie z dokumentacją 0 jest domyślnym rozmiarem kolejki, który nie jest związany.
Myśli? Wysyłam tylko około 100 zleceń jednocześnie
Odpowiedzi:
0 dla odpowiedzi № 1Podręcznik jest w błędzie. Wartość mniejsza lub równa zero oznacza, że wielkość kolejki jest dwa razy większa od wartości partitionCount.
int queueSize = jobTrackerConfig.getQueueSize();
if (queueSize <= 0) {
queueSize = ps.getPartitionCount() * 2;
}
Fragment kodu na github
Użyj liczby całkowitej, która jest wystarczająco duża dla twojego przypadku użycia.