Hadoop概括——学习笔记<一>

之前有幸在MOOC学院抽中小象学院hadoop体验课

这是小象学院hadoop2.X概述第一章的笔记

第一章主要讲的是hadoop基础知识。老师讲的还是比较全面简单的,起码作为一个非专业码农以及数据库管理人员,也能狗大致了解其特点。后面因为8月比较忙,就主要看案例那一部分了,应用及基础部分笔记基本没怎么做。

基本上是3/4屏幕放视频,1/4开着马克飞象

首先是概括图(以hadoop2.0为例) 


不在博客园上阅读时才会看到的,这篇博文归http://www.cnblogs.com/weibaar 所有

仅保证在博客园博客上的排版干净利索还有代码块与图片正确显示,他站请保留作者信息尊重版权啊

一、Hadoop基础架构:

HDFS(分布式存储层,主要储存数据) 
YARN(集群资源管理层) 
MapReduce 分布式数据处理,java

HDFS为最基本的,分布式文件系统

Redundant, Reliable Storage 
它可扩展性好,资源不够时再买服务器就可以直接集成了。另外数据重分布也很方便,对服务器崩溃等等处理也及时。 
其会把如1G等大文件,会冗余均等储存在多个服务器上(即使一个服务器崩溃了也无所谓),其过程均在后台处理而用户体验不到。

YARN负责集群管理调度

Cluster Resource Management 
它兼容多个计算框架(spark/mapreduce等等),可以统一管理调度多个应用程序 
另外,对多用户管理方便(可以方便分配用户资源等等) 
基本是数据库管理者调度资源等用的

MapReduce是计算框架的一种

依然方便扩展,适合数据离线处理 
里面涉及几个框架图,有空看看这些框架图可以更了解他们的架构与应用原理。


二、Hadoop具体模块解析(应用层)

Hadoop1.0 
Hive 数据仓库 与sql整合 
Pig 流行引擎 
Mahout 数据挖掘库 
–>Oozie 可以调度上述三种作业,先后处理什么作业,设定执行作业 
–>Hbase 构建了hdfs之上的分布式数据库 
–>数据引用 flume sqoop 
协调服务zookeeper

Hadoop2.0 
增加了YARN(计算框架) 
预装了新一代软件 hive2 pig2等等

Hive: 日志数据处理,数据仓库

可以把sql语句转化为MapReduce语句 
与数据库进行接口,作为一个类似于SQL的查询语言,使我们不用直接编写程序调用HDFS数据 
它一般用于离线数据处理,而不是交互性数据处理。 
一般用于: 
1)日志分析(如pv uv):百度、淘宝 
2)多维度数据分析 
3)海量结构化数据李贤分析 
4)低成本进行海量数据分析,不用专门学习MapReduce(简称MR)

不在博客园上阅读时才会看到的,这篇博文归http://www.cnblogs.com/weibaar 所有

仅保证在博客园博客上的排版干净利索还有代码块与图片正确显示,他站请保留作者信息尊重版权啊

Pig: 数据流语言,也是基于MapReduce

sql表达能力过于有限,不够直观。因此对于adhoc的数据分析不够。定义了新的pig Latin语言 
也是用于离线数据分析 
(PPT里对比了单词分组的MapReduce/hive/pig的案例) 
感觉pig更像一个对象式编程,还可以自编写函数。而hive结构型数据处理转换成本更低(sql),大公司还是在用它居多

Mahout: 提供数据挖掘库

包括推荐、聚类、分类三大算法。 
反正常用的数据挖掘算法都有了。

不在博客园上阅读时才会看到的,这篇博文归http://www.cnblogs.com/weibaar 所有

仅保证在博客园博客上的排版干净利索还有代码块与图片正确显示,他站请保留作者信息尊重版权啊

HBase:分布式数据库

有表的概念 
但是Hbase会有版本、时间戳概念,就是如果新数据进来插入,不会覆盖原来的cell,而是储存在时间戳里(每一行数据)通过版本号数量限制可限定储存的版本数 
另外有column family,可以由任意column组成(适合变量)

Zookeeper:用于解决分布式环境下数据管理问题

用户不会直接使用这个系统,而是底层系统用zookeeper解决资源配置问题,包括HDFS/HBase/YARN等 
阿里巴巴也开发了使用Zookeeper,Dubbo/Metaq

Sqoop:数据同步工具

就是把Hadoop跟传统mysql,db2等数据库结合 
属于基于MapReduce的一个程序

Flume:日志收集系统

与Sqoop类似,用于把日志导入hadoop里面 
可以把网站使用的数据统一加载到HDFS里(加载基于Flume的客户端)agent-collector-HDFS 
涉及客户端内容。(ATM采集信息等集群)

不在博客园上阅读时才会看到的,这篇博文归http://www.cnblogs.com/weibaar 所有

仅保证在博客园博客上的排版干净利索还有代码块与图片正确显示,他站请保留作者信息尊重版权啊

Oozie:用于调度不同的作业之间的管理与调度

对于有前后关系的、需要周期性定期性执行的工具进行调度甚至监控报警(邮件、短信报警)

时间: 2024-12-05 18:19:39

Hadoop概括——学习笔记<一>的相关文章

Hadoop入门学习笔记---part4

紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操作,前提是按照<Hadoop入门学习笔记---part2>中的已经在虚拟机中搭建好了Hadoop伪分布环境:并且确定现在linux操作系统中hadoop的几个进程已经完全启动了. 好了,废话不多说!实际的例子走起. 在myeclipse中新建一个java工程: 在项目工程中新建一个lib包用于存放

Hadoop入门学习笔记---part1

随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力,好好做.正是因为选题和hadoop有关,现在正式开始学习hadoop.将笔记整理于此,希望与志同道合的朋友共同交流. 作者:itRed 邮箱:[email protected] 个人博客链接:http://www.cnblogs.com/itred 好了,废话不多说.进入正题!开始hadoop的学习

Hadoop入门学习笔记---part3

2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hadoop有了一个基础的了解.但是还是有一些理论性的东西需要重复理解,这样才能彻底的记住它们.个人认为重复是记忆之母.精简一下: NameNode:管理集群,并且记录DataNode文件信息: SecondaryNameNode:可以做冷备份,对一定范围内的数据作快照性备份: DataNode:存储数据:

智传播客hadoop视频学习笔记(共2天)

第一天:1.答疑解惑•  就业前景•  学习hadoop要有什么基础•  hadoop会像塞班一样,热一阵子吗•  hadoop学习起来容易还是困难•  课堂上的学习方法(所有实验必须按照要求做,重原理.重实践)•  通过本课程能学到什么 2. 课程简介•  以真实的电信详单分析程序为主线,讲解Hadoop,Hbase,Hive在大数据处理的应用场景与过程•  通过此课程,你能     •  掌握Hadoop基本知识,进行HadoopHDFS和MapReduce应用开发,搭建Hadoop集群  

使用java调用hadoop接口学习笔记

[简介] 由于hadoop是安装在linux系统,因此需要在linux系统使用eclipse开发java.现在很多公司都要求有在linux上开发java的经验 ,因此这也是一个练手的绝好机会.学习hadoop不仅仅是学习了hadoop,我相信等hadoop入门,linux也入门了,shell也入门了,linux上开发java也会了,或许这就是学习的魅力吧,让人欲罢不能!废话不多说,进入正题. [安装eclipse] 工欲善其事,必先利其器,想在linux上用java开发hadoop程序,搭建环境

Hadoop入门学习笔记之一

http://hadoop.apache.org/docs/r1.2.1/api/index.html 适当的利用 null 在map中可以实现对文件的简单处理,如排序,和分集合输出等. 需要关心的内容 一个节点面对的是一个Map任务,一个Map任务面对的是一个split文件,一个map方法面对的是一个split文件生成的键值对. mapper类中map方法的输入是InputFormat的ReadeRecord类读取到的键值对 学习一周之后问题总结: 1.实验时使用的文件过小,大量小文件问题,需

Hadoop序列化学习笔记(一)

什么是序列化? 序列化(serialization),是指将结构化对象转化为字节流,以便在网络上传输或写入磁盘进行永久存储. 反序列化(deserialization),是指将字节流重新转换为结构化对象. Hadoop使用哪种序列化框架? Hadoop使用自己的序列化格式Writable,除开Writable,Hadoop也支持Avro序列化框架. Writable格式紧凑,速度快.,但很难使用除开Java之外的语言对它进行扩展. Avro支持跨语言使用,意思是,可以用Python写入文件,而用

Hadoop学习笔记(6) ——重新认识Hadoop

Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功能DFS和MapReduce, DFS可以理解为一个分布式文件系统,存储而已,所以这里暂时就不深入研究了,等后面读了其源码后,再来深入分析. 所以这里主要来研究一下MapReduce. 这样,我们先来看一下MapReduce的思想来源: alert("I'd like some Spaghetti!

Hadoop学习笔记(7) ——高级编程

Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成<key, value>. 2.映射(map):根据输入的<key, value>进生处理, 3.合并(combiner):合并中间相两同的key值. 4.分区(Partition):将<key, value>分成N分,分别送到下一环节. 5.化简(Reduce):将中间结