前言
最近的ddl属实有些密集,在ddl的夹缝中艰巨地实现了Lab1...
因为对Go的语法还是不太纯熟,最初实现还是借鉴了很多sample。心愿之后的lab能够齐全独立地实现吧
具体的代码我挂在了GitHub上。
工作形容
Lab1次要是实现分布式的MapReduce demo,其中具备worker和coordinator两种角色。
worker负责并行地进行Map或Reduce工作,coordinator负责在worker申请或提交工作时进行解决,并设置超时工夫(通常为10秒),查看各worker执行工作状况。
如果一个worker在规定工夫内未实现工作,coordinator会在其余worker申请工作时,将该工作将调配给其余worker。
可能会踩的坑
测试脚本中的timeout指令和wait -n指令找不到的问题
这是因为Mac自带的Bash版本过老,大家能够用brew install bash来装置新版本的bash。
批改默认bash如同比拟麻烦,我是间接在GoLand中配置了新bash的门路,通过GoLand去run这个脚本