我想尝试实现我从 IEEE“虚拟云中的位置感知 MapReduce”获得的这篇论文工作。这里总结一下:8台物理机,每台机器包含4台虚拟机,每台VM安装hadoop hdfs。假设我们有一个包含 p 台物理机的集群,每台都有一个硬盘,副本数为 3。那么 n 个文件块从集群外的另一台计算机放入集群或在集群中随机生成。该模型是关于具有一定数据模式的数据模式生成和任务模式生成。每个块都有相同的概率被放置在托管相同数量虚拟机的物理机上。可能会出现数据模式,使用 hadoop 策略,文件块副本所有堆栈在一台物理机器上,因为 hadoop 的策略数据分配是随机的。 http://imageshack.us/photo/my-images/42/allstack.png/
建议的策略是循环分配和蛇形分配,理论上是这样的:http: //imageshack.us/photo/my-images/43/proposed.png/
如何让hadoop知道一些虚拟机在一台物理机器上?
使hadoop不将文件块的第二个和第三个副本复制到同一物理机上的虚拟机上???我问过如何实现这样的,并得到答复,它使用机架感知配置。但我仍然感到困惑,需要更多关于此的参考。
我如何跟踪这些数据,那些文件块复制均匀分布在物理机器上,确保在一台物理机器上没有文件块副本全部堆栈?确定我是否按照机架意识进行配置,文件块副本均匀分布在物理机上吗?