hadoop: ecosystem hdfs mapreduce computing framework yarn
Hdfs: sistema de arquivos distribuído, usado para gerenciamento de dados de n servidores.
Cada servidor precisa instalar o
cliente do sistema de arquivos distribuídos hdfs : o cliente é usado para interagir com o Datanode Namenode, e o
Namenode de fragmentação do arquivo : responsável por armazenar metadados -> tamanho e localização do bloco. . .
Interação com datanode
Datanode: operações reais de armazenamento de dados
Namenode secundário: responsável por auxiliar Namenode na fusão de arquivos -> fsimage edita
yarn Gerente de agendamento de
recursos Resourcemanager: responsável pelo processamento de solicitação de recursos
NamenodeManager: responsável por encontrar recursos responsáveis por iniciar o contêiner (memória, cpu )
mapreduce: é uma estrutura de
implementação de estrutura de computação : implementar interface de classe de mapeador implementar interface de classe de redutor para
criar um trabalho, encapsular classe de inicialização, classe de mapeador, classe de redutor,
tipo de saída de mapeador, tipo de saída de redutor, caminho de arquivo de entrada e saída, iniciar
No processo de implementação do mapreduce, os componentes estão envolvidos.
1. Inicialize o componente inputformat: leia o arquivo e leia-o na forma de valor-chave
0 hello taiyuanligong
12 hello chognqing
29 bem-vindo a taiyuanligong
1 hello taiyuanligong
2 hello chognqing
3 bem-vindo a taiyuanligong
RecorderReader: getCurrentKey getCurrentValue
fornece o valor do método de mapa personalizado.toString
2. Particionador de partição: A partição é determinada de acordo com nossas próprias necessidades.
A partição padrão é uma
partição padrão e uma partição personalizada. Cada partição corresponde a um ReduceTask.
Cada ReduceTask corresponde a um arquivo de resultado.
Cada ReduceTask corresponde a uma série de tarefas.
Após personalizar a partição, defina o número de tarefas na partição correspondente no driver
3. Combinador: Combine vários arquivos pequenos em um arquivo grande, reduza o número de tarefas
1000 arquivos pequenos 1000 tarefas ao mesmo tempo podem ser executadas em tarefas paralelas é 50, precisa executar 20
500 arquivos e 500 tarefas. As tarefas que podem ser executadas em paralelo ao mesmo tempo são 50 e precisam ser executadas 10.
4. Classificação: Classificação
completa: basta implementar um método compareTo do tipo WritableCompare
em um bean personalizado e implementar sua própria classificação regras no método compareTo: de grandes a pequenas ou pequenas a grandes
porções do tipo: Com nossas partições personalizadas
configuram o driver de partições, defina o bean personalizado.