Hadoop入门案例

MapReduce&HDFS简介

一、Hadoop简介:

结构化数据:表,关系型数据库//有严格的约束

半结构化数据:html,json,yaml,有元数据// 有约束,缺少严格的约束

非结构化数据:没有预定义的模型,元数据 //日志数据等

我还是要推荐下我自己创建的大数据资料分享群142973723,这是大数据学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习大数据资料和入门教程。

搜索引擎:搜索组件、索引组件

    网络爬虫:爬到的内容多为半结构化或者非结构化数据

    构建倒排索引[基于精确搜索或模糊搜索基于相关度匹配]存储到存储系统[非RDBMS]中。

 

2003年:The Google File System//google如何实现文件存储,不支持对数据进行随机和实时访问,仅适用于存储少量的体积巨大的文件。

假如爬到html页面发生了改变,需要修改。则goole fs无法满足该需求

2004年:MapReduce: simplified Data Precessing On Large Cluster//MapReduce编程模型,一个任务分布在各个节点上运行,后收集结果

2006年:BigTable: A Distributed Storage System for Structure Data //存储结构化数据的分布式存储

 

GFS->山寨后HDFS:

MapReduce->MapReduce:

BigTable->HBase:

 

HDFS + MapReduce = Hadoop //作者儿子的一个玩具

HBase:hadoop 的database 

 

Nutch:一个网络爬虫程序,为Lucene爬取数据

 

Hadoop的一个缺陷:MapReduce是批处理程序,

HDFS采用的是有中心节点的存储格式

  client

|

元数据节点

|

===========================

node1  node2  node3  node n

1 1‘ 2 2’

        数据查询过程:client->元数据节点[数据分布在哪些节点上]-->[node 1,2,3,,n]-->client  用户查询[写代码]-->先调用MapReduce的开发框架-->交由该框架运行

Map:该代码需要分别运行在node1和node2上,各节点分别处理自己所用的那一部分

            //node1拥有1,node2拥有2

Reduce:最后要把node1和node2上的运行结果进行合并

最终速度:取决于速度最慢的 node

 

MapReduce:

1.开发API

2.运行框架

3.提供运行时环境

 

NAS和SAN的缺点:存储系统只有1个,面对海量数据,需要进行数据存取,磁盘IO和网络IO将面临极大挑战

因此出现了分布式存储

 

二、HDFS和MapReduce

1.无中心节点 

2.有中心节点HDFS //元数据节点是瓶颈和核心所在。//GFS,HDFS,

    元数据节点:NN: name node //HA,内存数据持久化。他的数据都是存储在内存中的

    //事务日志,写入到持久存储后,宕机后,重新加载,减少丢失的数据。

    后端主机要保证:服务可用+数据可用 //DN:data node 

    在宕机后回可能需要文件系统检测,数据量过大时,需要浪费大量时间。

    //简单的说:一旦NN崩溃,再次启动需要半个小时,因为hadoop 1.X NN不支持HA

        SNN:second namenode后期提供,

NN需要在内存中不断更新数据,写入日志,日志和映像文件合并等

SNN:负责合并数据,假如NN崩溃SNN加载共享存储的文件,自己工作。

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值