机架感知是一种计算不同计算节点(TT)的距离的技术,用以在任务调度过程中尽量减少网络带宽资源的消耗,这里用尽量,想表达的是当一个TT申请不到本地化任务时,yarn会尽量调度一个机架的任务给他,因为不同机架的网络带宽资源比同一个机架的网络带宽资源更可贵。当然,机架感知不仅仅用在MR中,同样还用在HDFS数据块备份过程中(第一个replica选择本节点【如果上传是DataNode】或者随机的一个DN(系统会尽量避免存储太满和太忙的节点),第二个节点选择于第一个节点不同机架的DN,第三个选择放在第二个DN同一个机架的另一个DN上)
CDH机架感知配置
未配置机架信息前执行命令:
hdfs dfsadmin -printTopology
所有服务器都在/default机架下
配置机架信息:
登录cloudera manger 选择主机 --所有主机
选择主机
分配机架
根据向导刷新重启服务即可
hdfs配置中有配置机架感知脚本的配置,不配默认使用主机中配置的机架信息
配置机架信息后