O objetivo deste repositório é a configuração de um cluster pseudo-distribuído utilizando o Apache Hadoop para simulação e testes de algoritmos utilizando o framework MapReduce.
A arquitetura inicial do cluster possui um nó master e dois worker nodes. Se novos worker nodes forem adicionados, eles devem ser registrados no arquivo de configuração master/config/hadoop/slaves
.
make build
docker-compose up
Os parâmetros para execução do job devem ser especificados no arquivo submit-params.env
.
INPUT_DFS - caminho para o diretório ou arquivo de entrada no HDFS (default /datasets)
OUTPUT_DFS - caminho para o diretório de saída no HDFS (default /output)
PATH_TO_JAR - caminho para o arquivo .jar
CLASSNAME - nome da classe principal
PATH_DATASET - caminho para o diretório ou arquivo de entrada na máquina host
make submit
Antes de acessar as páginas é necessário configurar o DNS local para utilizar os domínios master-node e worker-node-*. Essa etapa pode ser ignorada, no entanto os domínios devem ser substituídos pelos ips correspondentes nos links abaixo.
- Job History - http://master-node:19888/jobhistory/
- Resource Manager - http://master-node:8088/
- Namenode - http://master-node:9870/dfshealth.html
- NodeManager - http://master-node:8042/node
- DataNode - http://master-node:9864/datanode.html
Os arquivos de configuração do cluster estão na pasta base/config/hadoop/
.
- core-site.xml [core default values]
- hdfs-site.xml [hdfs default values]
- mapred-site.xml [mr default values]
- yarn-site.xml [yarn default values]
- hadoop-env.sh