概述
笔者这里将详述Hadoop集群中如何进行网络拓扑的介绍
如上图,Rack1,Rack2代表节点机器之间的交换机(一般是一个机柜一个),Swithch1表示集群之间的交换机。
当然上面架构是面向小集群的两层架构(30~40台)
对于hadoop来说没有良好的网络拓扑集群是无法实现真正的高可用的(当前限定在一个机房内)。
一般HDFS中的三个数据replication其中两个会在一个机柜里面,剩下的一个在其他机柜里面。所以当一个机柜出现问题那数据也不会掉。
此外,当我们采用Yarn进行资源调度时候也需要依赖良好的网络拓扑结果才能进行资源合理的分配。
所以综上所述我们需要有一个良好的机架拓扑。
配置文件说明
关于rack的配置文件一般格式为/switch/rack1结构啥意思呢,switch表示整个的交换机,rack1表示机柜。
但是这里我们需要特别的指出下,很多环境下有可能会出现相同两个机柜之间也可能是用同一个交换机(这样往往是由于交换机接口较多,而且为了节省资源)这时候我们整个机架的架构是交换机对应的节点,而不是按照机柜进行拆分的。
注意
当我们更新了rack信息后需要重启集群(HDFS和ZK以外的)。因为有相关服务依赖于rack信息,并且这些信息属于服务器端的配置。
- When you add a new host, the following occurs:
- YARN topology.map is updated to include the new host
- Any service that includes topology.map in its configuration—Flume, Hive, Hue, Oozie, Solr, Spark, Sqoop 2, YARN—is marked stale
- At a convenient point after adding the host you should restart the stale services to pick up the new configuration.