一直都说Hadoop的HDFS默认会把所有文件复制三份:
- 第一份随机选一个datanode
- 第二份在另一个机架(rack)上随机选一个datanode
- 第三份在第二份的机架上再选一个datanode
但是如果不特别配置的话,hadoop是不知道机架信息的,会默认所有的datanode都在同一个机架上。
如何让Hadoop知道机架信息呢?
就需要靠自己配置啦~~~
Hadoop说明
Hadoop的安装细节请参考另一篇博客:https://blog.csdn.net/lucylove3943/article/details/80589422
我这里用的例子是4台机子搭的Hadoop cluster。
master node: falcon-1
slave node: falcon-2 (10.102.2.33), falcon-3 (10.102.2.41), falcon-4 (10.102.2.49)
说明一下:falcon-2是节点的host name,后面跟的数字10.102.2.33是它的private ip。
Hadoop rack-awareneess configuration
首先进入Hadoop的configuration目录:
cd ~/hadoop-2.9.2/etc/hadoop
然后新建文档rack_topology.data: