NOME DA TRANSCRIÇÃO:
Agendamento e execução de tarefas
PT-BR
1/1
Na medida em que vimos em como o Hadoop executa uma única tarefa como se ela
fosse a única tarefa no sistema. Mas seria lamentável se todo os seus dados
valiosos só fosse requeridos por um usuário
por vez. O Hadoop agenda as tarefas usando um de três planejadores. O mais
simples e o padrão e o planejador FIFO.
Ele permite os usuários enviar tarefas enquanto outras tarefas estão sendo
executadas, mas ele enfileira estas tarefas e assim apenas uma delas é
executada por vez.
O planejador moderado é mais sofisticado. Ele permite os usuários competirem
pelos recursos do cluster e tenta
dar a cada usuário uma parte igual. Ele também suporta garantia de
capacidade mínima.
O planejador de capacidade tem uma abordagem diferente. Para cada
perspectiva de usuário. Parece que eles tem
o cluster para eles mesmo com o FIFO agendando, mas os usuários estão na
verdade compartilhando os recursos.
O Hadoop, em certas condições, oferece algumas opções de configuração para a
agilização da execução das tarefas de mapeamento e redução.
Uma destas opções é a execução especulativa. Quando uma tarefa leva muito
tempo para ser executada, o Hadoop detecta isso e
lança uma segunda cópia da sua tarefa em um nó diferente. Como as tarefas
são feita para serem independentes e auto contidas, inicializar um segunda
cópia não afeta a resposta final.
Seja qual for a cópia da tarefa que seja finalizada primeiro, a sua saída
irá para a próxima fase. A outra saída da redundância da tarefa é
descartada.
Outra opção para otimizar a performance é reutilizar a máquina virtual Java.
O padrão é colocar cada tarefa em sua própria JVM por motivos de isolação,
mas inicializar uma JVM pode ser relativamente caro ainda mais quando as
tarefas são curtas. Assim, você tem a opção de reutilizar a mesma JVM
de uma tarefa em outra. Isto concluí esta lição sobre MapReduce no Hadoop.
Obrigado por
nos assistir.
Download

Na medida em que vimos em como o Hadoop executa uma única