虚拟机hadoop上的文件块复制分配
我想尝试实现本文的工作,这是我从IEEE“虚拟云中的位置感知MapReduce”得到的。这里总结:8台物理机,每台包含4台虚拟机,每个虚拟机都安装了hadoop hdfs。假设我们有一个包含p台物理机的集群,每个物理机都有一个硬盘,副本号是3。然后,n个文件块从集群外的另一台计算机放入集群,或者在集群中随机生成。该模型是关于数据模式生成和具有特定数据模式的任务模式生成的。每个块都有相同的概率放置在拥有相同数量虚拟机的物理机上。由于hadoop的策略数据分配是随机的,因此使用hadoop策略,可能会在一台物理机器中出现一个文件块副本所有堆栈。 建议的策略是循环分配和蛇形分配,理论上如下所示: 如何让hadoop意识到一些虚拟机在一台物理机上 要使hadoop不将文件块的第二个和第三个副本复制到同一物理机上的虚拟机上??? 我问过如何实现这样的功能,得到的回答是,它使用的是机架感知配置。但我仍然感到困惑,需要更多的参考资料 我如何跟踪这些数据,这些文件块复制均匀地分布在物理机器上,以确保没有文件块副本全部堆叠在一台物理机器上??虚拟机hadoop上的文件块复制分配,hadoop,replication,allocation,Hadoop,Replication,Allocation,我想尝试实现本文的工作,这是我从IEEE“虚拟云中的位置感知MapReduce”得到的。这里总结:8台物理机,每台包含4台虚拟机,每个虚拟机都安装了hadoop hdfs。假设我们有一个包含p台物理机的集群,每个物理机都有一个硬盘,副本号是3。然后,n个文件块从集群外的另一台计算机放入集群,或者在集群中随机生成。该模型是关于数据模式生成和具有特定数据模式的任务模式生成的。每个块都有相同的概率放置在拥有相同数量虚拟机的物理机上。由于hadoop的策略数据分配是随机的,因此使用hadoop策略,可能
如果我在机架感知之后进行配置,是否确定文件块复制副本均匀分布在物理机器上 假设:我们知道在哪台物理机上创建了哪台虚拟机 这种假设在公共云环境中并不成立。因此,下面描述的解决方案在那里不起作用。下面描述的解决方案将在私有云中工作 实现机架感知包括两个步骤
<property>
<name>topology.script.file.name</name>
<value>core/rack-awareness.sh</value>
</property>
Virtual Machine 1 (VM1) 10.83.51.2 is on Physical Machine 1 (PM1)
Virtual Machine 2 (VM2) 10.83.51.3 is on Physical Machine 1 (PM1)
Virtual Machine 2 (VM2) 10.83.51.4 is on Physical Machine 2 (PM2)
您可以将cluster.data设置为
10.83.51.2 /DC1/rack1
10.83.51.3 /DC1/rack1
10.83.51.4 /DC1/rack2
Virtual Machine 1 (VM1) 10.83.51.2 is on Physical Machine 1 (PM1)
Virtual Machine 2 (VM2) 10.83.51.3 is on Physical Machine 1 (PM1)
Virtual Machine 2 (VM2) 10.83.51.4 is on Physical Machine 2 (PM2)
10.83.51.2 /DC1/rack1
10.83.51.3 /DC1/rack1
10.83.51.4 /DC1/rack2