一:大数据应用

1.Cloudera

  cloudera公司是Hadoop三大发行商之一,其版本为CDH版本,现在最新的版本是CDH5。

  网站:http://archive.cloudera.com/cdh5/

  

  现在官网上的最新的版本:

  

2.大数据的三大基础

  Java

  SQL

  Linux

3.大数据的特性

  大量的数据:PB级别

  多样的数据类型

  快速的数据流转

  价值

  

二:学习的框架

1.官网:

  hadoop.apache.org

  目前学习的系列是Hadoop2.x,在2006年发布,几个重要的版本,2.2.0 ,2.5.0, 2.7.0

  现在已经有了新的版本Hadoop3.0

  

2.特性

  Hadoop是一个可靠性,可扩展,的分布式计算框架(The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.)。

  

  A) 可靠性

    存储方面:

      HDFS存储策略,副本数为3个

      以块进行,检验块损坏,生成校验码,并将两次的校验码进行比较来判断。

    计算方面:

      如果计算中出现问题,会使用副本数继续计算。

  B) 可扩展性

    可以在原有的基础上任意添加多台机器。

  C) 低成本(另外补充)

    磁盘的成本低一些。

3.四个核心模块

  

  Hadoop Common:支持模块的工具类

  HDFS:分布式文件系统

  Hadoop YARN:任务调度和集群资源(内存,CPU)管理框架

  Hadoop MapReduce:一个基于YARN的并行处理大数据集的框架

4.Hadoop之父

  doug cutting

5.Hadoop的起源

  apache Lucene:全文检索工具包

  Apache Nutch:web搜索引擎

  Google三大论文:MapReduce,GFS,BigTable

二:HDFS分布式文件系统

1.文件系统

  建立在无数的硬件上。

  设计理念:一次写入,多次读取

  主从架构

    namenode

    datanode

  存储的是文件,文件属性

    名称,位置,副本数,拥有者,权限,存储的块

  存储形式:块(block,默认是128M)

    假设一个文件是250M,则需要两个块存储,第一个块128M,第二个块122M(一个文件小于一个数据块的大小,不需要占用整个数据块的空间的).

    多个文件不能放到一个块中的。

  文件的与元数据

    文件的属性。

    给到namenode进行存储。

  真正存储的是datanode。

2.框架

  

3.HDFS读写流程(都有一个就近原则)(大概)

  读取

    客户端先去namenode,知道文件的存储位置。

    再去找datanode。

    当读取到好几个文件的时候,这个时候设计到就近原则,同一个机架上读取文件肯定比读取其他机架上的数据快。

    读取块。

  写入文件

    首先客户端找namenode,知道文件将要被分到哪个位置

    然后再找到对应的datanode

    然后去datanode写入。

    写副本时,应该需要写一个到别的机架。

4.HDFS服务功能

  Namenode:是主节点,存储文件的元数据

  Datanode:在本地文件系统存储文件数据,以及数据块的校验和。

  Secondary Namenode:监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

三:Hadoop YARN框架

1.框架

  

2.资源管理和调度框架

  主从架构

    Resourcemanager:管理整个集群的资源

    NodeManager:资源所在

  每个应用都有一个应用管理者:ApplicationMaster

  container

    使得应用不会被干扰,是资源的抽象,分装了每个任务需要的资源。

  

3.yarn的运行机制

  当一个应用在yarn上运行,Resourcemanager首先会找一个nodemanager,给这个应用分配一个应用管理者(ApplicationMaster),使得应用管理者可以在nodemanager上运行。

  然后管理者会计算出需要的资源,然后管理者根据计算出的资源向Resourcemanager申请资源

  然后Resourcemanager给应用一个container,让应用在container中运行,

  然后应用管理者进行监控和容错。

4.YARN服务功能

  

四:MapReduce框架

1.两个阶段

  Map:并行输入数据

  Reduce:对结果进行汇总

2.特点

  适合离线批量计算

  数据量大

  启动开销大,每个mapreduce任务都会开一个Java虚拟机。

  

3.

  

004 Hadoop2.x基础知识的更多相关文章

  1. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  2. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  6. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. Shell记录-Shell命令(其他)

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. .命令格式 top [参数] Shell 2.命令功能 显示当前系统正在执行的 ...

  2. 你知道吗?什么是 Responsive JavaScript ?

    Responsive Javascript 是什么? 简单来说就是可以根据浏览器的状态做出响应.响应包括对视窗大小的反应,根据你设备是否支持触摸事件或地理定位功能来决定是否显示特定内容,不一而足. 什 ...

  3. Javascript Ajax异步读取RSS文档

    RSS 是一种基于 XML的文件标准,通过符合 RSS 规范的 XML文件可以简单实现网站之间的内容共享.Ajax 是Asynchronous JavaScript and XML的缩写.通过 Aja ...

  4. 【leetcode 简单】 第八十六题 有效的完全平方数

    给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False. 注意:不要使用任何内置的库函数,如  sqrt. 示例 1: 输入: 16 输出: Tr ...

  5. ES6的优雅方法

    1.箭头函数 // ES5 var selected = allJobs.filter(function (job) { return job.isSelected(); }); // ES6 var ...

  6. layui结合SpringMVC上传文件以及携带额外的参数上传文件

    今天在使用layui的过程中,遇到了使用其上传文件的模块.自己感觉文件上传还是bootstrapfileinput插件比较好用一些,灵活方便,bootstrapfileinput使用方法参考:http ...

  7. 编写pl/sql时,报错

    /* 写一个简单的PL/SQL */ declare a ; b ; c number; begin c:=(a+b)/(a-b); dbms_output.put_line(c); exceptio ...

  8. input 输入框 propertychange

    做搜索功能的时候,经常遇到输入框检查的需求,最常见的是即时搜索,今天好好小结一下. 即时搜索的方案: (1)change事件    触发事件必须满足两个条件: a)当前对象属性改变,并且是由键盘或鼠标 ...

  9. .net开源框架开源类库(整理)

    源:http://www.cnblogs.com/chinanetwind/p/3715809.html 常用库 Json.NET https://github.com/JamesNK/Newtons ...

  10. idea中使用tomcat 方式启动spring boot项目

    Spring boot 的main 入口启动方式相信都会用,直接运行main直接就启动了,但是往往这种方式并不是最佳的启动方式,比如运维的层面更希望调整tomcat的调优参数,而只使用嵌入启动方式很难 ...