原文链接:https://www.toutiao.com/i6627682068203586062/

一、我们先看一个大数据的实例

进到官网

我们进入到里面有个"网站统计"

我们查看Demo

我们进入到这个页面

我们可以统计该网站的用户访问量

我们百度一个旅游网站(马蜂窝)

进入到官网

我们打开开发者工具(谷歌浏览器使用F12)我们选择Network

点击一个图片,开发者工具其中有一条内容表示我们点击的图片(选择这个链接,按图选择)

我们找到图片的链接

这个就是我们的地址

我们选择解码

我们进入到官网,选择解码

解码后的内容

里面有很多信息,比如X和Y是屏幕坐标等等

然后我们进入到友盟里,选择热点图

这个图和前面的链接结合起来,就可以分析出页面点击率(热点图)

二、Hadoop

HDFS是分布式文件系统,用来存储数据的。

两个角色:

Namenode负责管理文件的名称空间

Datanode负责存储数据,会定时向namenode进行汇报,是一个list。

补充概念:

(1) HDFS的块(block)

(2) 文件的分块(chunk)

(3) 网络拓扑

(4) 机架感知

1、HDFS的块(block)

磁盘是分数据块的,默认大小512B

磁盘:一个600B的文件,分成两个部分一个是512B,一个是88B。

512B存到1号分块中,88B存到2号分块中。下次如果有一个新的文件,是不会再补充到2号分块中,只会往后继续存放。

HDFS:抽象在磁盘之上,有上述磁盘类似的概念。

但有不同点:

(1) block默认大小,Hadoop1.x 64M Hadoop2.x 128M。

(2) HDFS:一个200M的文件,分成两个部分一个是128M,一个是72M。

128M存到1号分块中,72M存到2号分块中。下次如果有一个新的文件,是会补充到2号分块中(是逻辑理解上)。

HDFS分块大小为什么是128M?答案:最小化寻址时间

例子:假如我们的磁盘速率是100M/s,磁头寻址时间是10ms,在整个传输过程中,让寻址时间仅仅占传输时间的1%,传输的文件大小是100M。

100在2的N次方中离128最近。

2、文件的分块(chunk)

Chunk默认的大小和block是一样的。可以调整,建议和block一样。

3、网络拓扑

每个节点是有可能出现问题的,比如Server1这个节点突然断电了,那么就会存在丢失数据的情况。如何最大程度避免这个问题呢?

Hadoop选择备份数据,将BLK_1备份到多台机器上,比如三台机器上,一个机器出问题了,还有两个机器可以使用。

网络拓扑

在机架rack1上服务器节点r1n1和r1n4通信,通过网络是要消耗网络资源的,所以使用距离的概念来表示每台节点之间通信消耗网络带宽的计量单位。

那么r1n1至r1n4的距离是多少呢?

我们认为在一个机架上,一台节点到路由器有几根线距离就是几,比如r1n1至路由器距离就是1,r1n4至路由器距离就是1,那么r1n1和r1n4连接的是一台路由器,那么他们的距离就是2。

如果有不同机架

那么距离r1n1->r2n1就是4。

如果不同数据中心之间也是通过路由器/交换机做数据交的。

一般都有会说:跨节点距离是2、跨机架是4、跨数据中心是6。

4、副本放置策略

假设有一个块block,备份3份

(1) 第一块副本,如果客户端程序在集群的某一个节点,那么第一块副本就放在这个节点上;如果不在,就随机找一个节点放置

(2) 第二块副本,放在非第一块副本所在的机架,而是选择其它机架上的一个节点

(3) 第三块副本,放在第二块副本同机架不同节点

5、机架感知

如果不配置,Hadoop会认为所有节点在一个机架上

网上有个例子,用配置的方式告诉Hadoop节点的位置

 

Hadoop学习-块、网络拓扑、副本策略、机架感知的更多相关文章

  1. ZooKeeper学习之路 (十)Hadoop的HA集群的机架感知

    一.背景 Hadoop 的设计目的:解决海量大文件的处理问题,主要指大数据的存储和计算问题,其中, HDFS 解决数据的存储问题:MapReduce 解决数据的计算问题 Hadoop 的设计考虑:设计 ...

  2. HDFS网络拓扑概念及机架感知(副本节点选择)

    网络拓扑概念 在本地网络中,两个节点被称为“彼此近邻”是什么意思?在海量数据处理中,其主要限制因素是节点之间数据的传输速率——带宽很稀缺.这里将两个节点间的带宽作为距离的衡量标准. 节点距离:两个节点 ...

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

    副本放置策略 的副本放置策略的基本思想是: 第一block在复制和client哪里node于(假设client它不是群集的范围内,则这第一个node是随机选取的.当然系统会尝试不选择哪些太满或者太忙的 ...

  4. 深入理解hadoop之机架感知

    深入理解hadoop之机架感知 机架感知 hadoop的replication为3,机架感知的策略为: 第一个block副本放在和client所在的datanode里(如果client不在集群范围内, ...

  5. HDFS机架感知

    Hadoop版本:2.9.2 什么是机架感知 通常大型 Hadoop 集群是以机架的形式来组织的,同一个机架上的不同节点间的网络状况比不同机架之间的更为理想,NameNode 设法将数据块副本保存在不 ...

  6. hdfs 机架感知和复制因子的设置

    dfs.replication 新更新的复制因子的参数对原来的文件不起作用. 譬如说,原来的复制因子是2,则原来文件上传的时候就只有两个副本. 现在把dfs.replication设置为3,重新启动h ...

  7. Hadoop基础-网络拓扑机架感知及其实现

    Hadoop基础-网络拓扑机架感知及其实现 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网络拓扑结构 在本地网络中,两个节点被称为“彼此近邻”是什么意思?在海量数据处理中,其 ...

  8. hadoop 集群中数据块的副本存放策略

    HDFS采用一种称为机架感知(rack-aware)的策略来改进数据的可靠性.可用性和网络带宽的利用率.目前实现的副本存放策略只是在这个方向上的第一步.实现这个策略的短期目标是验证它在生产环境下的有效 ...

  9. hadoop机架感知与网络拓扑分析:NetworkTopology和DNSToSwitchMapping

    hadoop网络拓扑结构在整个系统中具有很重要的作用,它会影响DataNode的启动(注册).MapTask的分配等等.了解网络拓扑对了解整个hadoop的运行会有很大帮助. 首先通过下面两个图来了解 ...

随机推荐

  1. 三维引擎导入obj模型不可见总结

    最近有客户试用我们的三维平台,在导入模型的时候,会出现模型全黑和不可见的情况.上一篇文章说了全黑的情况.此文说下不可见的情况. 经过测试,发现可能有如下两种情况. 导入的模型不在镜头视野内 导入的模型 ...

  2. Jenkins pipeline声明式语法

    目录 一.最简结构 二.简单例子 一.最简结构 pipeline {     agent any     stages {         stage('pull') {             st ...

  3. MyBatis 3学习笔记

    MyBatis 3 一.MyBatis简介 优秀的持久层框架,支持支持自定义 SQL.存储过程以及高级映射,专注于SQL的编写. ​ 为什么不使用工具类进行数据库操作: ​ 功能简单,sql语句编写在 ...

  4. Spring支持的常用数据库传播属性和事务隔离级别

    一.事务的传播属性 1.propagation:用来设置事务的传播行为,一个方法运行在了一个开启了事务的方法中时,当前方法是使用原来的事务还是开启一个新的事务. (1)propagation.REQU ...

  5. IDEA设置调用方法时提示方法上的注释

    IDEA设置代码注释提示,代码提示,鼠标放上面提示方法的注解信息 打开file-->setting-->Editor-->General,将Show quick documentat ...

  6. 查找MySql的配置文件my.cnf所在路径

    Linux系统 linux 上可以使用 mysql --help|grep my.cnf 过滤查看 [root@localhost etc]# mysql --help|grep my.cnf ord ...

  7. 惊!世界上竟然有O(N)时间复杂度的排序算法!计数排序!

    啥?你以为排序算法的时间复杂度最快也只能O(N*log(N))了? O(N)时间复杂度的排序算法听说过没有?计数排序!!它是世界上最快最简单的算法!!! 计数排序算法操作起来只有三步,看完秒懂! 根据 ...

  8. 【LeetCode】1085. Sum of Digits in the Minimum Number 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 遍历 日期 题目地址:https://leetcode ...

  9. 【转】最小生成树——Kruskal算法

    [转]最小生成树--Kruskal算法 标签(空格分隔): 算法 本文是转载,原文在最小生成树-Prim算法和Kruskal算法,因为复试的时候只用到Kruskal算法即可,故这里不再涉及Prim算法 ...

  10. 【LeetCode】593. Valid Square 解题报告(Python)

    [LeetCode]593. Valid Square 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地 ...