




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
理解Hadoop的拓扑架构及环境(三)主要内容2Hadoop如何分配数据副本获取集群的机架信息3一、Hadoop如何分配数据副本4Hadoop如何分配数据副本
在小集群体系架构下,所有的集群节点都位于一个机架上。在这种情况下,容易确定位置——一个节点要么在本机,要么在其他机器上。Hadoop不均匀的将文件副本分配在集群的机架上。当上传新的数据到HDFS时,会在当前机架的DataNode上放一个副本,第二个副本放在远程机架的一个节点上,第三个副本放在远程机架的一个不同节点上(在默认三备份的情况下):三分之一的副本将被写入一个节点三分之二的副本将被写入一个机架三分之一的副本均匀的分布在其他机架上5Hadoop如何分配数据副本
这样做的目的是通过减少机架键的写入来提升写入性能。相比于一个节点美食区整个机架的可能性要低很多。通过将数据放在两个独立的机架上而不是三个,可以减少读取数据时的宽带网络。
此外,不管副本放在哪里,如果交换机不工作,那么数据将变得不可用。
在更大规模的Hadoop集群构建中,会有分布在不同机架的多个节点。在这种情况下应该利用多机架架构,确保数据块的副本被保存在不同的机架上,以提高数据的可用性,即是有一个机架失效也不受影响。6二、
获取集群的机架信息7获取集群的机架信息可以通过fsck和dfsadmin命令来测试是否正确的配置了机架信息。Fsck命令会在输出的最后显示集群机架的数量信息。
dfsadmin-report命令也可以显示集群中每个节点的机架信息8获取集群的机架信息 HDFS的可靠性以及性能,取决于他的副本的位置。机架感知的副本放置策略提高了数据的可靠性和可用性。如果通过定义机架拓扑脚本来配置机架拓扑结构,那么即使整个机架失效,也可以保护数据的可用性。Hadoop的数据块的第一个副本放在客户端运行的同一个节点上,其他的两个副本分别放在不同机架的不同节点上。(如果客户端是集群外部的,那么第一个块被放置在集群上随机选择的节点上)。因此,突然丢失整个机架不会导致数据丢失。丢失多个机架的多个节点理论上会导致数据丢失,但这不太可能发生。9获取集群的机架信息
假设集群节点分布在三个机架上,如果没有为集群配置机架拓扑脚本,则Hadoop不会采用任何文件块防止策略,那么写入的文件将被随机复制到集群中的任意三个节点上,因为在没有配置机架拓扑脚本的情况下,Hadoop不知道节点属于哪个机架,他会默认所有的节点在同一个机架。10三、
总结总结1.拓扑感知2.基本原理3.工作流程4.优点5.缺点121.拓扑感知 HDFS运行在一个具有树状网络拓扑结构的计算机集群上。在一个集群中可能有多个数据中心,在每个计算中心部分分布着很多为计算需求而设置的机架。在网络拓扑结构中,每个叶子结点代表一个DataNode,而不同机架间的路由选择由InnerNode内部类表示。
通过拓扑结构,Hadoop能清晰地知道每台机器所在的机架。通过它来确定节点间的距离,这个距离是Hadoop做决策判断时的参考因素。NameNode也是通过这个距离来决定应该把数据副本放到哪里的。当一个map任务到达时,它会被分配到一个TaskTracker上运行,JobTracker节点则会使用网络位置来确定map任务执行的机器节点。132.基本原理 NameNode把向它注册的DataNode结点按照它们的IP地址来将它们存储到树状的拓扑结构中,之后NameNode会根据副本策略来为每一个数据块的副本选择一个合适的存储结点。该过程主要分为以下两部分:
首先,NameNode把这个DataNode所在主机IP地址转换成一个形如/*/*/*格式的网络拓扑路径。
然后,NameNode将地址转换过后的DataNode存储到树状的拓扑结构中。143.工作流程 1.Hadoop系统中,NameNode是按照用户指定的规则来将一个IP地址转换为对应的路径。这是因为只有用户才知道哪些IP地址对应的主机被放在同一个机架,即只有集群管理员知道机器之间的网络距离。 2.集群管理员,通过hadoop-site.xml配置文件的设定(一般设置为脚本),来启用拓扑感知,否则所有DataNode默认在同一个机架上。 3.NameNode在接收到每一个datanode的heartbeat时,将该
datanode的ip地址作为参数传给该脚本运行,并将得到的网络拓扑地址输出,保存到内存的一个map中。 4.NetworkTopology根据内存中的MAP映射集合,生成网络拓扑结构。154.优点
在海量数据处理中,其中主要限制因素是节点之间数据的传输速率---带宽。HADOOP的想法是将两个节点间的带宽作为举例的衡量标准。衡量节点之间的带宽,实际上很难实现。为此Hadoop采用一个简单的方法,把网络看作一棵树,两个节点间的距离是它们到最近的共同祖先的距离总和,该树中的层次是没有预先设定的,但是相对于数据中心框架和正运行的节点,通常可设定等级,具体的想法是对于以下每个场景,可用带宽依次递减,即用树的节点之间的距离来反映节点的带宽。165.缺点
①hadoop对机架的感知并非是自适应的,亦即,hadoop集群分辨某台slave机器是属于哪个rack并非是只能的感知的,而是需要hadoop的管理者人为的告知hadoop哪台机器属于哪个rack,这样在hadoop的namenode启动初始化时,会将这些机器与rack的对应信息保存在内存中,用来作为对接下来所有的HDFS的写块操作分配datanode列表时(比如3个block对应三台datanode)的选择datanode策略。故HDFS拓扑感知目前亟待解决的是其自适应性,即根据实际网络情况智能的对节点之间的距离进行修改,来实现数据更高效的传输。
②当前的拓扑感知机制中,由于是通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海南思政党史课题申报书
- 材料课题申报书范文
- 办公隔断合同范例
- 假肢定制合同范例
- 临沧代理记账合同范本
- 甘肃教学课题申报书
- 下水道整修合同范本
- 合法派遣合同范本
- 书画挂牌合同范本
- 公司激励股合同范本
- 急诊医院感染与控制课件
- 人教版 七年级英语下册 UNIT 2 单元综合测试卷(2025年春)
- 2024年“新能源汽车装调工”技能及理论知识考试题与答案
- 【地理】非洲-位置与范围 高原为主的地形课件-2024-2025学年湘教版(2024)七下
- 抢救车的管理
- GB/T 44927-2024知识管理体系要求
- GB/T 17350-2024专用汽车和专用挂车分类、名称及型号编制方法
- 2024年07月山东省泰山财产保险股份有限公司2024年夏季校园招考29名工作人员笔试历年参考题库附带答案详解
- 临床护理死亡病例讨论
- 2025年广东韶关城投集团招聘笔试参考题库含答案解析
- 医疗器械生产企业并购合同
评论
0/150
提交评论