大数据笔记

大数据的逻辑:

1TB级别的磁盘驱动器是很正常的,数据传输的速度在100 MB/s左右,所以它需要花两个半小时以上的时间读取整个驱动器的数据。

试想一下,我们拥有100个磁盘,每个存储百分之一的数据。如果它们并行运行,那么不到两分钟我们就可以读完所有的数据。

这个逻辑在放在CPU上是一样的。并行能加快速度。

1. Hadoop的几个组件

作者:Doug Cutting和Mike Cafarella

MapReduce:分布式计算框架,将计算打碎,将结果组合,map后生成的列表来shuffle和sort,之后把这些列表进行reduce操作

Hive :数据仓库,将SQL语句封装

Pig:数据流处理

Hbase (BigTable):实时分布式数据库,key-value表,value存储在HDFS中

HDFS (GFS):分布式文件系统,将value存在不同的主机,并做多份拷贝

Zookeeper(Chubby):分布式协作服务,各个service的分布式配置,同步配置,并可以管理service的生命周期

Yarn:调度CPU资源处理任务

2. Hadoop集群

Master服务器:NameNode,JobTracker,Secondary NameNode

Slave服务器:DataNode,TaskTracker

2. MapReduce

Job

JobTracker:分配job给TaskTracker,任务没完成也可以重新分配

TaskTracker
MapTaskReduceTask

3. GFS(HDFS)

NameNode:中心服务器,管理文件系统的命名空间,与datanode有心跳,master节点,存储元数据,知道数据在哪里,文件在哪些block

Secondary NameNode: 和NameNode都在master节点,负责备份NameNode的元数据到别处

DataNode:chunk节点,存储value的block,通过block id拿到文件的内容

存储并管理PB级数据;处理非结构化数据;注重数据处理的吞吐量(latency不敏感);应用模式为:write-once-read-many存取模式

不适合做:

存储小文件 (不建议使用);大量的随机读 (不建议使用);需要对文件的修改 (不支持)
原文地址:https://www.cnblogs.com/qiangxia/p/4493886.html