分布式系统 MIT 6.824 Lab 1: MapReduce 准备

一、环境准备

1.Linux系统
2.Go环境的安装

二、准备实验的代码

通过课程地址获取 https://pdos.csail.mit.edu/6.824/labs/lab-mr.html

$ git clone git://g.csail.mit.edu/6.824-golabs-2020 6.824
$ cd 6.824
$ ls
Makefile src

三、测试样例

*注意这里要将实验的6.824路径设置为到GOPATH中
由于实验提供了顺序的MapReduce操作,在src/main/mrsequential.go.它是一个单进程的操作,实验代码提供了统计单词次数的在 mrapps/wc.go, 文档的索引在 mrapps/indexer.go. 可以通过一下的命令执行word count:

$ cd ~/6.824
$ cd src/main
$ go build -buildmode=plugin ../mrapps/wc.go
$ rm mr-out*
$ go run mrsequential.go wc.so pg*.txt
$ more mr-out-0
A 509
ABOUT 2
ACT 8
...

但是在执行go build -buildmode=plugin ../mrapps/wc.go会出现一下错误

unexpected directory layout:
	import path: _/home/xxx/6.824/src/mr
	root: /home/xxx/6.824/src
	dir: /home/xxx/6.824/src/mr
	expand root: /home/xxx/6.824
	expand dir: /home/xxx/6.824/src/mr
	separator: /

第一步,先确定Go境是否正常
第二步,在mrapps/wc.go的 import "../mr" 修改为 import "mr"
我在做lab的时候,出现了第二步的问题,修改好了,没有出现问题了,接下来就可以做lab1的实验了。

原文地址:https://www.cnblogs.com/lzeffort/p/12764546.html