一、環境准備
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的實驗了。