PlainMapReduce

A simple mapReduce clone written in go for educational puropses meant to work with the master repo Based on the following lab

for a sample run:

  • install go
  • clone this repo
  • in the repo are mapreduce applications wordcount and indexer to be built as go plugins and loaded in at runtime. Run the following command to build the plugins and to start multiple workers. Make sure the master process is up and running and the ports match

building word count:

    go build -buildmode=plugin wordcount/wc.go 
    go run .  wc.so :8087 &  go run .  wc.so :8087 & go run .  wc.so :8087& go run .  wc.so :8087&

building indexer

    go build -buildmode=plugin indexer/indexer.go 
    go run . indexer.so :8087  &go run . indexer.so :8087  &go run . indexer.so :8087  &go run . indexer.so :8087 & 

output

files with name mr-out-X where x is a number correspond to the otput of the mr jobs. to clean the repo run rm mr-*

  • note: you might have to rebuild plugins again if you alter the direcotry structure

GitHub

View Github