大数据学习笔记(连载)—Hadoop基础

一、大数据发展历程

        当大数据概念铺天盖地传入大家视野范围内,基本是在2010年前后,要讲大数据必定脱离不了第三次信息化浪潮。人类前后经历了三次信息化浪潮,分别是:

        第一次信息化浪潮,1980年前后,标志是个人计算机出现与普及,代表企业是Intel、微软、苹果、IBM等;

        第二次信息化浪潮,1995年前后,标志是互联网的迅速普及,代表企业是雅虎、谷歌等;

        第三次信息化浪潮,2010年前后,标志是云计算、大数据、物联网的发展与应用,涌现了一批新技术、云原生企业;

        大数据的发展历程:

        上世纪90年代到上世纪末期,是大数据发展的萌芽期;

        2000年到2010年,是大数据技术发展的成熟期;

        2010年以后,是大数据技术大规模普及应用的阶段;

二、大数据基本概念

维基百科:“大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合”

大数据典型特性,4V(volume、velocity、variety、value)

        volume,数据量大;人类近两年生产的数据是历史所有数据量的总和;

        velocity,快速化;数据的生成到消耗,时间窗口非常小,决策时间非常短;

        variety,多样化;数据类型多,大量的数据由结构化数据和非结构化数据组成,90%数据都是非结构化数据;

        value,价值密度低,商业价值高;

大数据的影响

        在思维方式上,大数据颠覆了传统的思维方式。数据从抽样到全样,不存在误差被放大,不需要刻意最求精确,反而要提升效率。关注相关性,不关注因果性。

三、大数据关键技术

-大数据关键技术的两大核心:数据存储与管理、数据处理与分析;

对应两大技术,分布式存储、分布式处理;

分布式存储:解决海量数据存储的问题;

分布式处理:解决海量数据处理的问题;

-大数据技术以谷歌公司为技术代表:

分布式数据库BigTable;

分布式文件系统GFS;

分布式并行处理MapReduce;

-典型的计算模式

1、批处理:MapReduce、spark;不适合实时计算

2、流计算:流数据、实时计算,实时响应,否则分析结果就会失去商业价值。flume、storm、S4;

3、图计算:高效处理图结构数据,社交网络数据、地理信息系统数据等,Google pregel

4、交互式查询:做查询分析计算,实时性高。Dremel、hive、Cassandra、impala;

四、大数据处理架构Hadoop 

Hadoop是Apache软件基金下的开源软件,是顶级项目,是Java语言开发的,支持多种编程语言;

Hadoop两大核心是HDFS+MapReduce;原生运行在linux上,也可以支持Windows;

HDFS是GFS的开源实现;

MapReduce也是谷歌提出;

HBase是BigTable的开源实现

Hadoop的特性:具备很高的可靠性,具备很高的效率,具备很好的扩展性,成本低(对比HPC);

-Hadoop1.0、2.0两大代;

Hadoop 1.0两大核心,HDFS、MapReduce;

其中MapReduce同时要做集群资源管理和数据处理;管的东西太多,集群效率低下;

因此,在Hadoop2.0中,单独用yarn来做资源管理,MapReduce只做数据的处理。MapReduce是架构在yarn之上第一个计算框架,后面还支持其他的计算框架,比如spark、storm等;

-Hadoop的项目结构

HDFS:分布式文件系统

YARN:做集群资源管理和调度框架;

MapReduce:基于磁盘计算,用于离线计算;

spark:基于内存计算,性能更好;

Tez:采用DAG有向无环图来组织MapReduce任务,将map任务和reduce任务进一步拆分,提升效率;

HBase:分布式数据库,用来处理非结构化数据和半结构化数据;

Hive:数据仓库,用户企业数据分析,可以兼容sql语句,把sql转换成MapReduce作业;

Pig:数据分析平台,把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算;

zookeeper:做集群的监控和截图服务;

oozie:作业流调度系统

flume:做日志数据收集;

sqoop:做数据库导入导出;

-HDFS

HDFS:分为NameNode、DataNode、secondary NameNode;

MapReduce:job tracker、task tracker;

对于集群硬件配置:

DataNode/task tracker,2*4核CPU、16-24G内存、4个磁盘以上(支持jbod)、千兆网络;

NameNode由于将元数据存储在内存中,所以对内存要求比较高;2*4核CPU,16-72G内存,万兆或千兆网络;

secondary NameNode,作为NameNode的冷备份,对editlog做处理;

HDFS实现目标,兼容廉价的硬件设备,实现流数据读写,支持大数据集、支持简单的文件模型、兼容性;

HDFS的局限性:不适合低延时数据访问,无法高效存储大量小文件;

HDFS1.0时,只有一个NameNode,存在单点故障风险,集群性能也会受到影响。在HDFS2.0中,则有多个NameNode解决此问题;

HDFS的数据冗余,默认是3副本,可以自定义,配置1-4副本;

--------------------------未完待续

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值