Hadoop慕课网学习记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haoranhaoshi/article/details/81952708

书籍推荐:Hadoop权威指南,Hadoop技术详解
前提:Linux入门和Java入门
Google大数据技术:MapReduce、BigTable、GFS
Hadoop(名称来自开发者儿子的玩具):模仿Google的开源大数据技术
Hadoop组成:HDFS(存取海量数据的分布式文件系统)、MapReduce(任务分解和调度的并行处理框架)
Hadoop工具:HIVE(SQL转Hadoop任务)、HBASE(存储结构化数据的分布式数据库,放弃事务特性,追求更高扩展,达成对表的读写)、zookeeper(名称为动物管理员,管理Hadoop集群)
Hadoop功能:搭建大数据仓库,PB(1000TB)级数据存储、处理、分析、统计等,如搜索引擎、商业智能、日志分析、数据挖掘
优势:(数据容量)高扩展、(降低硬件)低成本、成熟的生态圈(Hadoop Ecosystem Map)
版本:1.x、2.x

租用云主机:阿里云、UnitedStack
PuTTY Configuration连接云主机

HDFS的文件被分成块存储,HDFS块的默认大小为64MB,块是文件存储系统的基本单元,有NameNode(管理节点,存放文件元数据,是文件与数据块,数据块与数据节点的映射表)和DataNode(工作节点,存放数据块)两类节点
数据库管理策略
数据库副本:默认每个数据块保存三份,一个机架存两份(分别在两个DataNode中),一个机架存一份(在一个DataNode中),保证数据存储的可靠性
心跳检测:DataNode定期向NameNode发送心跳信息,确定DataNode是否active
二级NameNode:定期同步数据映像文件和修改日志,NameNode发生故障时恢复
客户端读写数据:
读:NameNode返回数据块进行组装
写:客户端访问NameNode,NameNode返回在线能写入写的DataNode,客户端写入多数据块并复制到其它DataNode,将块的此时存储位置更新到NameNode
HDFS特点:数据冗余、硬件容错,流式数据访问(insert一次,可read多次,不能update,只能delete后insert),适合存储大文件
HDFS适用性:适合数据批量读写,吞吐量高;适合一次写入,多次读取,顺序读写;
HDFS局限性:不适合交互式应用,低延迟很难满足;不支持多用户并发写相同文件

MapReduce原理(先Map再Reduce):大任务分成小任务(Map),并行执行,合并结果(Reduce)(如多线程统计再合并统计结果)(如利用日志文件统计网站中各网页的浏览次数)
MapTracker的运行流程:JobTracker的角色:作业调度、分配任务、监控任务执行进度、监控TaskTracker的状态;TaskTracker的角色:执行任务、汇报任务状态
MapReduce的容错机制:重复执行(默认四次后还出错,放弃重复执行)、推测执行

猜你喜欢

转载自blog.csdn.net/haoranhaoshi/article/details/81952708