我想在几台物理机上的几个虚拟机中询问bout hadoop数据分配。我找到了论文,设计分配策略,将文件块的副本分配给不同的物理机器,并保持每台物理机器块数的平衡。因此,确保在一台物理计算机(包含多个VM)上没有文件块副本全部堆栈。
我想尝试实施该文书工作。我坚持如何配置在由多个VM组成的分布式物理机器上均匀分配的文件块副本。它是用mapreduce算法编码还是在hdfs安装中配置?他们表示,他们将虚拟节点的位置信息添加到网络拓扑中。虚拟节点的网络位置可以从/ default-rack更改为/ Phy0。在物理节点的网络位置下添加一层。
我不知道,如何在hadoop中配置它们?
答案 0 :(得分:1)
hadoop中的这种配置称为机架感知。
使用core-site.xml中的属性“topology.script.file.name”配置机架感知。
如果未配置“topology.script.file.name”,则会为任何IP地址传递/ default-rack,即所有节点都放在同一个机架上。
在hadoop中配置机架感知涉及两个步骤,
在core-site.xml中配置“topology.script.file.name”,
<property>
<name>topology.script.file.name</name>
<value>core/rack-awareness.sh</value>
</property>
根据需要实施rack-awareness.sh脚本, 可在此处找到样本机架感知脚本,
http://wiki.apache.org/hadoop/topology_rack_awareness_scripts