hadoop2.7.2学习笔记09-机架敏感
2017-05-12 16:48
169 查看
hadoop的master进程可以通过外部脚本或者java类来获取slaves的机架信息。无论用哪种方式,得到的拓扑结构都必须符合org.apache.hadoop.net.DNSToSwitchMapping接口。该接口的拓扑信息格式是‘/myrack/myhost’。设想每个机架都是一个24位掩码的子网,‘/192.168.100.0/192.168.100.5’即可表示唯一的一个‘机架-主机’映射关系。
若选择使用java类来产生拓扑映射关系,需要在配置文件中指定topology.node.switch.mapping.impl参数。
若选择使用外部脚本,则需要在配置文件中指定topology.script.file.name参数。hadoop在执行该外部脚本时会传递很多IP地址作为参数。传给该脚本的IP地址个数由参数net.topology.script.number.args配置,且默认值是100。如果将该参数配置为1,该脚本将会为DataNodes和NodeManager提交的每个IP执行一次。
如果topology.script.file.name和topology.node.switch.mapping.impl都没有配置,默认机架id——‘/default-rack’将会返回给每个传来的IP地址。这样hadoop认为所有节点都在一个机架上。
另一个配置参数mapreduce.jobtracker.taskcache.levels决定mapreduce使用的缓存的级数(在网络拓扑中)。它的默认值是2,一级是主机(host->task mapping),另一级是机架(rack->task mapping)。
若选择使用java类来产生拓扑映射关系,需要在配置文件中指定topology.node.switch.mapping.impl参数。
若选择使用外部脚本,则需要在配置文件中指定topology.script.file.name参数。hadoop在执行该外部脚本时会传递很多IP地址作为参数。传给该脚本的IP地址个数由参数net.topology.script.number.args配置,且默认值是100。如果将该参数配置为1,该脚本将会为DataNodes和NodeManager提交的每个IP执行一次。
如果topology.script.file.name和topology.node.switch.mapping.impl都没有配置,默认机架id——‘/default-rack’将会返回给每个传来的IP地址。这样hadoop认为所有节点都在一个机架上。
另一个配置参数mapreduce.jobtracker.taskcache.levels决定mapreduce使用的缓存的级数(在网络拓扑中)。它的默认值是2,一级是主机(host->task mapping),另一级是机架(rack->task mapping)。
相关文章推荐
- hadoop2.7.2学习笔记02-启动集群
- hadoop2.7.2学习笔记05-hadoop文件系统API定义-hadoop文件系统模型
- 第115讲:Hadoop集群构建硬件选择、集群规模、网络拓扑、机架感知等学习笔记
- hadoop2.7.2学习笔记03-hadoop命令
- hadoop2.7.2学习笔记20-HDFS Snapshots
- hadoop2.7.2学习笔记05-hadoop文件系统API定义-简介
- hadoop2.7.2学习笔记05-hadoop文件系统API定义-hadoop文件系统类org.apache.hadoop.fs.FileSystem
- hadoop2.7.2学习笔记08-代理用户(超级用户以其他用户的名义执行操作)
- hadoop2.7.2学习笔记04-hadoop fs shell
- hadoop2.7.2学习笔记05-hadoop文件系统API定义-本文档使用到的专用符号
- hadoop2.7.2学习笔记07-本地库
- hadoop2.7.2学习笔记18-HDFS Federation
- hadoop2.7.2学习笔记15-HDFS user guide
- hadoop2.7.2学习笔记19-ViewFs
- 大数据-Hadoop学习笔记09
- hadoop2.7.2学习笔记06-CLI MiniCluster
- hadoop2.7.2学习笔记05-hadoop文件系统API定义-hadoop数据输入流类FSDataInputStream
- hadoop2.7.2学习笔记01-启动单节点集群
- hadoop2.7.2学习笔记16-QJM和HA
- 09 12 10 JavaSE学习笔记