hadoop机架感知配置

hadoop机架感知配置——HDFS 编辑core-site.xml配置文件,将脚本配置为topology.script.file.name的值 进入到 /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop 的位置编辑core-site.xml配置文件,将下面的代码添加到文件的末尾并保存 topology.script.file.name /home/bigdata/apps/hadoop/etc/hadoop/RackAware.py 最后进入到 /export/servers/hadoop- 阅读详情

文章目录

1

副本的存放策略又是HDFS实现高可靠性和搞性能的关键,优化的副本存放策略也正是HDFS区分于其他大部分分布式文件系统的重要特性。HDFS采用一种称为机架感知(rack-aware)的策略来改进数据的可靠性、可用性和网络带宽的利用率。大型HDFS实例一般运行在跨越多个机架的计算机组成的机群上,不同机架上的两台机器之间的通信需要经过交换机,这样会增加数据传输的成本。在大多数情况下,同一机架内的两台机器间的带宽会比不同机架的两台机器间的带宽大。
一方面,通过一个机架感知的过程,NameNode可以确定每个DataNode所属的机架ID。目前HDFS采用的策略就是将副本存放在不同的机架上,这样可以有效防止整个机架失效时数据的丢失,并且允许读数据的时候充分利用多个机架的带宽。这种策略设置可以将副本均匀地分布在集群中,有利于组织失效情况下的负载均衡。但是,因为这种策略的一个写操作需要传输数据块到多个机架,这增加了写操作的成本。
另一方面,在读取数据时,为了减少整体的带宽小号和降低整体的带宽延时,HDFS会尽量读取程序读取距离客户端最近的副本。如果在读取程序的同一个机架上有一个副本,那么就读取该副本;如果一个HDFS集群跨越多个数据中心,那么客户端也将首先读取本地数据中心的副本。
默认情况下,Hadoop的机架感知策略是未开启的,默认都是在同一个机架下面。
默认机架:

Rack: /default-rack
   10.179.100.195:50010 (hadoop-slave2)
   10.179.100.210:50010 (hadoop-slave1)
   10.179.131.21:50010 (hadoop-slave4)
   10.179.131.90:50010 (hadoop-slave3)
   10.179.52.182:50010 (hadoop-slave5)
   10.179.52.55:50010 (hadoop-slave6)

下面叙述下配置步骤。

配置

机架信息可以通过python脚本来写(线上环境机器较多,按网段来分较方便),也可以通过shell脚本来写。

【python】脚本

利用网段掩码来配置,注意申请机器的ip按网段分隔

python脚本的写法,需要使用到netaddr.
root权限安装pip install netaddr,或先下载再pip install xxx.whl

/home/hadoop/hadoop-current/etc/hadoop/RackAware.py
RackAware.py

#!/usr/bin/python

import netaddr
import sys
sys.argv.pop(0)

#the netmask we use is 255.255.255.0
netmask = '255.255.255.0'

for ip in sys.argv:
    address = '{0}/{1}'.format(ip, netmask)
    try:
        network_address = netaddr.IPNetwork(address).network
        print "/{0}".format(network_address)
    except:
        print "/rack-unknown"

配置文件core-site.xml中添加:

  <property>
    <name>net.topology.script.file.name</name>
    <value>/home/hadoop/hadoop-current/etc/hadoop/RackAware.py</value>
  </property>

重启hadoop即可看到机架信息已更新:

[hadoop@hadoop-master1 shellUtils]$ hadoop dfsadmin -printTopology
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

19/05/28 20:42:22 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Rack: /10.179.100.0
   10.179.100.195:50010 (hadoop-slave2)
   10.179.100.210:50010 (hadoop-slave1)

Rack: /10.179.131.0
   10.179.131.21:50010 (hadoop-slave4)
   10.179.131.90:50010 (hadoop-slave3)

Rack: /10.179.52.0
   10.179.52.182:50010 (hadoop-slave5)
   10.179.52.55:50010 (hadoop-slave6)

说明

其他方式,在测试时可以将机架写成固定ip。加载固定文本中的数据。python或shell均可。后续补充。

Hadoop 配置机架感知 HDFS 集群的机架感知 背景 Hadoop 的设计目的:解决海量大文件的处理问题,主要指大数据的存储和计算问题,其中,HDFS 解决数据的存储问题;MapReduce解决数据的计算问题。 Hadoop 的设计考虑:设计分布式的存储和计算解决方案架构在廉价的集群之上,所以,服务器节点出现宕机的情况是常态。数据的安全是重要考虑点。HDFS 的核心设计思路就是对 用户存进 HDFS里的所有数据都做冗... 阅读详情

相关推荐

【Hadoop】Hadoop 机架感知配置、原理

Hadoop机架感知1.背景Hadoop在设计时考虑到数据的安全与高效,数据文件默认在HDFS上存放三份,存储策略为本地一份,同机架内其它某一节点上一份,不同机架的某一节点上一份。这样如果本地数据损坏,节点可以从同一机架内的相邻节点拿到数据,速度肯定比从跨机架节点上拿数据要快;同时,如果整个机架的网络出现异常,也能保证在其它机架的节点上找到数据。为了降低整体的带宽消耗和读取延时,HDFS会尽量让读...

When_I_see_you的博客 633

Hadoop机架感知(rack-aware)配置

副本的存放策略又是HDFS实现高可靠性和搞性能的关键,优化的副本存放策略也正是HDFS区分于其他大部分分布式文件系统的重要特性。HDFS采用一种称为机架感知(rack-aware)的策略来改进数据的可靠性、可用性和网络带宽的利用率。大型HDFS实例一般运行在跨越多个机架的计算机组成的机群上,不同机架上的两台机器之间的通信需要经过交换机,这样会增加数据传输的成本。在大多数情况下,同一机架内的两台机器...

蚂蚁搬家 3590

Hadoop集群网络性能优化:Hadoop机架感知实现及配置

分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群。机架内的机器之间的网络速度通常都会高于跨机架机器之间的网络速度,并且机架之间机器的网络通信通常受到上层交换机间网络带宽的限制。 具体到Hadoop集群,由于hadoop的HDFS对数据文件的分布式存放是按照分块block存储,每个block...

大数据框架Hadoop学习 670

HDFS 机架感知配置导致数据不均衡

HDFS 机架感知是一种逻辑上的网络架构设计,它主要是用来区分不同节点的网络拓扑情况下,保证数据是能够高性能写入和查询的一种机制,毕竟跨网络的数据读写是有网络带宽消耗的,当没有配置机架信息时,所有的机器hadoop都默认在同一个默认的机架下,名为 “/default-rack”,这种情况下,任何一台datanode机器,不管物理上是否属于同一个机架,都会被认为是在同一个机架下,此时,就很容易出现之前提到的增添机架间网络负载的情况。

分享云原生大数据技术和个人成长、职业发展相关内容 1392

如何在两台电脑间,实现zotero文件和数据两种类型的双向同步

在完成本文配置后,可以在两台不同的电脑间,通过两步简单操作实现zotero数据和文件的双向同步,并且全程免费首先,打开zotero->编辑->首选项->高级->文件与文件夹,配置链接附件根目录以及数据存储位置,前者将pdf文件通过相对地址形式存于zotero中(而非真正的pdf文件),后者则是设置用户本地数据的地址建议设置在数据盘D盘,可以避免后续对盘名的修改(因为基本每个电脑都存在C盘和D盘)然后,同一页面下,打开同步,配置数据以及文件同步方式。数据同步保持默认即可,文件同步选择WebDav,然后去坚果云

weixin_43008154的博客 1万+

从球谐函数到哈希编码:Instant-NGP如何重构NeRF的数学基础

本文深入解析了Instant-NGP如何通过多分辨率哈希编码重构NeRF的数学基础,显著提升训练速度和渲染效率。对比传统球谐函数,哈希编码在计算复杂度、频率适应性和内存访问效率上具有明显优势,为实时神经渲染技术开辟了新方向。

weixin_29240711的博客 420

HDFS机架感知配置(block放置策略/NodeGroup分配策略配置)

1、配置hdfs-site和core-site文件。3、通过命令查看是否配置成功。2、nodegroup示例。

destinyoooooooo的博客 1693

WSL2下用QEMU模拟ARM开发板:从编译uboot到调试全流程(附常见错误解决)

本文详细介绍了在WSL2环境下使用QEMU模拟ARM开发板的完整流程,包括uboot编译、内核调试等关键步骤。通过QEMU模拟vexpress-a9开发板,开发者可以高效搭建嵌入式开发环境,解决常见错误并提升开发效率。

solidity8miner的博客 286

HDFS副本放置策略和机架感知

hdfs作为一种分布式存储组件,数据容错能力是其重要的一个环节。今天我们来谈谈hdfs2.* block副本存储datanode选择策略的相关原理

lcnetwork的专栏 662

POVME3口袋体积计算:从.ini配置到实战解析

本文详细解析了POVME3口袋体积计算工具,从核心原理、环境准备到实战应用。重点剖析了控制计算行为的.ini配置文件,包括如何定义口袋区域、精修范围及锁定目标,并提供了固定坐标与配体引导两种实战策略,帮助研究人员从分子动力学轨迹中量化分析蛋白质结合口袋的动态变化。

weixin_29043895的博客 538

(四)美赛画图篇:画图模板+画图工具

美赛画图篇:画图模板+画图工具(一)画图模板(二)画图工具 因为散点图、折线图等多与数据有关,且需相关软件生成,故此处多是通用模板。直接替换文字内容即可。 (一)画图模板 1、Visio圆圈图 适合于:指标体系(E题常用) 点击下载:1 C币 如果不想花费且时间充足,悄咪咪地说,在visio-模板搜索可以找到很多。(稍微会耗一点时间) 2、简单指标体系图PPT 适合于指标体系 点击下载:0 C币...

weixin_43689393的博客 1万+

Hadoop配置机架感知

Hadoop机架感知配置指南:通过修改core-site.xml文件并创建机架感知脚本(RackAware.py),实现DataNode物理位置的识别。脚本支持主机名/IP到机架的硬编码映射,也提供通用版本支持JSON/YAML配置文件动态读取。配置后需重启服务并通过hdfs dfsadmin -printTopology命令验证,确保NameNode日志显示正确的机架信息。该配置能优化数据副本放置策略,提升数据可靠性和读取性能,需注意脚本权限设置和兼容性检查。

ywl470812087的博客 11万+

软件可靠性设计

本文系统介绍了软件可靠性设计与建模的理论框架和实施方法。首先从可靠性定义、核心思想和与建模的关系等理论基础出发,重点阐述了模块化设计、冗余容错、异常处理等六类可靠性设计方法及其技术栈。文章详细分析了可靠性设计在软件生命周期各阶段的应用,并深入探讨了设计与建模的深度结合机制,包括参数影响、验证方法和量化指标。最后提出了覆盖设计、开发、测试和运行四个阶段的落地策略,形成完整的"设计-建模-运行"流程体系。全文强调通过预防性设计和量化建模相结合的方法提升软件系统的可靠性和稳定性。

moton2017的博客 896

Hadoop之——机架感知配置

1.背景       Hadoop在设计时考虑到数据的安全与高效,数据文件默认在HDFS上存放三份,存储策略为本地一份,同机架内其它某一节点上一份,不同机架的某一节点上一份。这样如果本地数据损坏,节点可以从同一机架内的相邻节点拿到数据,速度肯定比从跨机架节点上拿数据要快;同时,如果整个机架的网络出现异常,也能保证在其它机架的节点上找到数据。为了降低整体的带宽消耗和读取延时,HDFS会尽量让读取程

冰河的专栏 1万+

【ArcGIS遇上Python】使用add-in向导开发ArcGIS插件(1):add-in工具介绍及安装

文章目录addin介绍addin下载addin安装 addin介绍 ArcGIS从10.0开始支持addin(ArcGIS软件中又叫作加载项)的方式进行插件制作。相对于以往9.x系列,addin的无论是从使用或者编写都更加方便快捷。通过开发语言,可以制作ArcGIS Desktop各个软件模块的插件。 Esri提供了Python加载项向导工具来实现Addin界面的搭建,可以到Esri官网去下载该工具Python加载项向导 。从介绍来看,该设计器要求的最低ArcGIS版本为10.1 ,如下图所示: add

智慧空间实验室 7202

Codex 100个真实案例 - 用AI批量清洗Excel脏数据(10万行3分钟搞定)

每个做数据分析的人都被"脏数据"折磨过——空值、重复行、日期格式五花八门、手机号多一位少一位……手动清洗几千行就已经让人崩溃,更别提10万行了。本文将展示如何用 Codex 生成一套完整的 Python pandas 数据清洗工具,从读取Excel/CSV、识别脏数据、自动清洗、生成清洗报告,到可视化对比清洗前后的数据质量,全程自然语言驱动,10万行数据3分钟搞定!

yueyeguzhuo的专栏 88

hadoop_机架感知_详细搭建配置

机架感知需要人为进行配置,编写Python脚本“RackAware.py”。内容为服务器IP与交换机的对应关系。(开源hadoop,使用RackAware.sh) #!/usr/bin/python #-*-coding:UTF-8 -*- import sys rack = { "12.12.3.1":"SW6300-1", "12.12.3.2":"SW6300-1", "12.12.3.3":"SW6300-1", .

qq_45798620的博客 3549

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Hadoop3.x 机架感知机制与配置

什么机架感知 感知hadoop集群中每个机器节点所属的机架 如何感知机架 某台 slave 机器是属于哪个 rack 并非是智能感知的,而是需要 hadoop的管理者人为的告知 hadoop 哪台机器属于哪个 rack,这样在 hadoop的 namenode 启动初始化时,会将这些机器与 rack 的对应信息保存在内存中,用来作为对接下来所有的 HDFS 的写块操作分配 datanode列...

qq_31454379的博客 1863

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Hadoop机架感知配置及配置问题解决

Hadoop在搭建集群的时候,集群的网络拓扑都是默认在同一个机架下的。以/default-rack为一个机架,如下格式。 Rack: /default-rack 192.168.71.100:50010 (repo) 192.168.71.101:50010 (node01) 192.168.71.102:50010 (node02) 192.168.71.103:50010 (node03) 在默认机架下副本放置策略是无法实现的,所以要对集群拓扑进行配置。常用方法是机架感知。默认情况下,hadoop的机架

qq_41257653的博客 1067

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

hadoop集群配置机架感知

自己搭建的hadoop集群一般默认不具备机架感知能力,为了提高hadoop集群的网络性能,我们常常需要配置机架感知。下面是以下步骤: 一、修改配置文件core-site.xml,添加配置属性:   topology.script.file.name /home/r203/hadoop-0.20.2/rackaware.py    二、编写自己的脚本rackaware.py:

小桥 1184

Hadoop配置机架感知(python脚本)

有些hadoop集群在运行的时候,不完全是绝对平均的分配,不过需要尽可能平均的分配任务,避免某一台或者某几台服务器任务过重,其他服务器无事可做。这个,一方面是需要用到balancer,一个就是机架感知了。 通常,balancer是自动启动的。而机架感知则需要单独配置和编写脚本。不过,机架感知,不是说是感知哪个服务器坏了,是根据机架位置的拓扑结构来选取服务器进行任务的权重分配。

心梦园 685

hadoop机架感知--加强集群稳固性,该如何配置hadoop机架感知

我们知道hadoop集群具有容错性,分布式等特点,为什么会具有这些特点,下面是其中原理之一。 分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群。机架内的机器之间的网络速度通常都会高于跨机架机器之间的网络速度,并且机架之间机器的网络通信通常受到上层交换机间网络带宽的限制。     具体到H

zhangzker的博客 376

配置Hadoop的机架感知

原地址:http://datasearch.ruc.edu.cn/~boliangfeng/blog/?p=525 我们都知道Hadoop的拓扑结构是机架感知的,这样在分配、请求数据副本时,可以根据机架感知的拓扑结构取得选取节点进行操作的权重(参考Hadoop拓扑结构中关于距离的定义)。 事实上默认Hadoop是没有机架感知的,要想使用它,需要我们额外的配置,配置过程如下: 首先修改na

碧波海天 2432
上一篇: HDFS之RPC(1) 概述
下一篇: HDFS之RPC(2) 测试
王小禾
博客等级 码龄11年 80粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值