分布式系统 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的实验了。