Hadoop初识

目标:

建立大数据和分布式的宏观概念

理解Hadoop是什么,用于做什么,怎么用

理解hive是什么,用于做什么,怎么用

了解数据挖掘的基本流程和结构


1、Hadoop是apache旗下的一套开源软件平台。

     提供的功能:利用服务器集群,根据用户的自定义的业务逻辑,对海量数据进行分布式处理。

     核心组件:A.HDFS--分布式文件系统 B.YARN--运算资源调度系统 C.MAPREDUCE--分布式运算编程框架。

     其他组件:A.Hive--基于大数据技术(文件系统+运算框架)的SQL数据仓库工具,使用方便,功能丰富,基于MR延迟大;

                       B.Hbase--分布式海量数据库,离线分析业务与在线业务通吃

                       C.Zookeeper--分布式协调服务基础组件

                       D.Sqoop--数据导入导出工具

                       E.Flume--日志数据采集框架

                       F.Ooize--工作流调度框架

                       G.Mahout--基于Mapreduce/spark/flink等分布式运算框架的机器学习算法库

     应用:数据服务基础平台建设;用户画像;日志数据挖掘

     需具备技能:A.HADOOP分布式集群的平台搭建;

                          B.HADOOP分布式文件系统HDFS的原理理解及使用;

                          C.HADOOP分布式文件框架MAPREDUCE的原理理解及编程;

                          D.Hive数据仓库工具的熟练应用;

                          E.Flume、sqoop、oozie等辅助工具的熟练使用;

                          F.Shell/python等脚本语言的开发能力

    

2、云计算是分布式计算、并行计算、网格计算、多核计算、网格存储、虚拟化、负载均衡等传统计算机技术和互联网技术融合发展的产物。给终端用户提供强大的计算能力。

     底层支撑技术:虚拟化与大数据技术

3、分布式系统理解

     分布式软件系统:该软件系统会划分成多个子系统或模块,各自运行在不同的机器上,子系统或模块之间通过网络通信进行协作,实现最终的整体功能。

     实现由主节点将运算任务发往从节点,并将各节点上的任务启动。

     举例:solrcloud 特征:A.一个solrcloud集群通常有多台solr服务器 B.每个solr服务器节点负责存储整个索引库的若干个shard(数据分片);C.每个shard又有多台服务器节点存 放若干个副本互为主备用;D.索引的建立和查询会在整个集群的各个节点上并发执行;E.solrcloud集群作为整体对外服务,内部细节可对客户端透明。

4、离线数据分析流程:

     案例:网站或APP点击流日志数据挖掘系统

    

数据来源:用户的数据点击行为记录。在页面预埋一段js程序,为页面上想要监听的标签绑定事件,只要用户点击或移动标签,即可触发ajax请求到后台servlet程序,用log4j记录下事件信息,从而在web服务器(nginx、tomcat等)上形成不断增长的日志文件。

流程:

1) 数据采集:定制开发采集程序,或使用开源框架Flume

2)数据预处理:定制开发Mapreduce程序运行于hadoop集群

3)数据仓库技术:hive

4)数据导出:sqoop

5)数据可视化:定制开发web程序或使用kettle等产品

6)整个过程的流程调度:oozie或其他开源产品

架构图:

5、YARN概念

YARN是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序。

A.yarn并不清楚用户提交的程序的运行机制

B.yarn只提供运算资源的调度(用户程序向yarn申请资源,yarn就负责分配资源)

C.yarn中的主管角色叫ResourceManager

D.yarn中具体提供运算资源的角色叫NodeManager

E.yarn与运行的用户程序完全解耦,这意味着yarn上可以运行各种类型的分布式运算程序,包括mapreduce、storm程序、spark程序,tez等

F.Spark,Strom等运算框架都可以整合在yarn上运行,只要他们各自的框架中有符合yarn规范的资源请求机制即可

G.Yarn提供了一个通用的资源调度平台,从此,企业中以前存在的各种运算集群都可以整合在一个物理集群上,提高资源利用率,方便数据共享。





 



版权声明:本文为Siphiababy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。