@tsing1226
2016-02-18T15:48:44.000000Z
字数 2534
阅读 804
HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
Hadoop是分布式文件系统、采用主从(master/slave)架构。Hadoop包括NameNode、DataNode组件,NameNode存储的是镜像文件fsimage和日志文件edits,DataNode存储数据。当客户端访问DataNode,
hadoop高可用性采用两个NameNode保证hadoop的高可用性,一个Active、一个Standby。
HDFS HA采用两个NameNode节点,能够保证高可用性的。NameNode是存储元数据的,当客户端读/写文件时,都是通过NameNode决定客户端访问哪个DataNode。
HDFS HA配置有四点要点:
保证双NameNode节点能够时时同步一致,NameNode启动时先要读取edits文件,所以要保证日志文件的安全性,将采用日志文件节点分布式管理日志文件,搭建JournalNode 节点。
NameNode在启动时,等待DataNode向NameNode注册,并时时接受DataNode心跳和块的报告,所以报保证两个NameNode节点能够时时接受到DataNode心跳和块的报告。
当客户端访问NameNode时,如何判断两个NameNode的active和standby,主要是通过代理(Proxy)的方式来帮助客户端访问哪个节点。
如何保证在任意时刻,集群中只有一个NameNode对外提供服务呢,此时需要隔离机制。一般采用ssh无密钥隔离机制
MapReduce是并行计算框架,分为两部分Map任务和Reduce任务,采用分而治之的思想,map任务是分,reduce就是合,以wordcount为例,它的执行流程MR可以分为5个部分。
1、输入数据 处理哪部分数据
2、map对数据的处理
数据来自分布式文件系统,并按块存储,默认情况下,一个块就是一个map任务处理,资源充分的情况下,有多少块就有多少个map任务执行。map处里完数据就把数据输出,首先,根据多少reduce任务分map处理的数据的哪一部分由哪一部分reduce处理,map将最终结果输出到本地文件系统中
3、shuffle
数据从map task输出到reduce task输入的这段过程,Shuffle过程是MapReduce的核心,在此进行分区、排序、合并、压缩、分组。
4、reduce
map完成后,reduce就会从map任务输出数据拷贝到自己需要处理的数据,reduce将map任务获得的数据进行合并、排序、分组。
5、output
输出reduce任务的处理数据部分。
Flume是一个分布式、可靠性能够收集、聚合移动大数据日志文件的高效可用服务。
基于流式数据流简单的架构,健壮性和容错性使得可用机制和许多故障转移恢复机制。
使用简单的数据扩展模型可以在线分析应用。
解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。
Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。
数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。
由facebook开源,最初用于解决海量结构化的日志数据统计问题。
Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。
通常用于离线分析。
HBase是Hadoop数据库,是分布式、可扩展、大表存储,HBase是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。
数据模型:Schema-->Table-->Column Family-->Column-->RowKey-->TimeStamp-->Value
hue是hadoop数据分析的web可视化接口,hue应用能够将hadoop的多个组件集成在一起显示在web界面。
oozie是服务于hadoop生态系统的工作流调度工具,job运行平台是区别于其他调度工具的最大的不同。但其实现的思路跟一般调度工具几乎完全相同。
引擎:海量数据处理和分析
1、spark比mapreduce快:
Spark基于内存的计算框架,把数据加载到内存中,然后数据在内存中进行计算。
Mapreduce计算时从硬盘上读取数据,计算的结果写会硬盘。
2、Spark
Spark有DAG图(有向无环图,依赖关系),spark已经做好了
Mapreduce也有依赖关系,但没有spark做的好
MR:数据分析
SQL:hive、spark SQL、phoniex
HBase:存储数据、MR/hive分析
HBase:实时查询
Mahout:推荐,基于用户或者产品
storm:实时流式统计
spark streaming:实时统计
态度:谦虚、谨慎
能力:实事求是、“三大能力”
“扣题”:调理清晰、脉络明确
引入熟悉、举例场景、剖析如何解决
如何融入公司
谦虚:向前辈学习,无论是技术还是交流
正能量
勤奋努力
乐于改变
有责任心、敢于承担