志哥Hadoop第一天

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

能处理大数据的技术:
Hadoop离线计算 spark实时计算 storm流式计算

一HADOOP背景介绍

Apache Hadoop是一个可靠的,可扩展的分布式计算开发软件

Apache Hadoop可以理解为一个处理框架,它允许使用简单的编程模型来计算分布式的大型数据结合(海量数据)

https://hadoop.apache.org官方网站

包括哪些模块:
Hadoop Common:Hadoop的一些模块工具

Hadoop分布式文件系统(HDFS):一种分布式文件系统,它可以提供应用程序数据的高吞吐量的访问。

Hadoop YARN:作业调度和集群资源管理的框架

Hadoop MapReduce:一种用用于处理大量数据集几部YARN的系统(分布式计算框架)

上述每个模块都有自己独立的功能,而模块与模块之间又有一定的联系

二、Hadoop的生产背景:
雏形开始于2002年的Apache的Nutch,Nutch是由java开发的一个搜索引擎,它包含了所有搜索引擎所需要的全部工具,包括:全文搜索,Web爬虫,Nutch的目的是设计一个大型的全网络的搜索引擎,包括:抓取,索引,查询等功能,

随着网络的发展碰到了一个瓶颈:“如何解决十亿网页的存储和索引问题”

2003年Google发表了一篇技术学术论文(GFS),google公司为了存储流量搜索数据设计的专用文件系统。

2004年Nutch的创始人,Doug Cutting 基于GFS的论文实现了分布式文件存储系统HDFS

ps:2003-2004年Google公开了部分GFS和MapReduce的思想细节,以此为基础Doung Cutting等人用了2年的业余时间,实现了DFS和MapReduce机制的一个微缩版的Nutch

2004年Googe又发飙了一个计算学术论文MapReduce,MapReduce是一种编程模型用于大规模数据集(大于1TB)的处理和并行计算

三、HADOOP在大数据和云计算中位置和关系

云计算是分布式计算,并行计算,网络计算,多核计算,网络存储,虚拟化,负载均衡等传统的计算技术和互联网技术融合的一个产物

现阶段云计算的底层两大技术支撑“虚拟化”和“大数据计算”而HADOOP则是云计算平台及服务的解决方案。

ps:taaS(基础设施及服务) PaaS(平台及服务) SaaS(软件及服务)

四、Hadoop案例:
1大型网站Web服务器的日志分析:一个大型网站的Web服务器集群,每5分钟就会收录的点击量就高达800GB,峰值点击量可以达到每秒900万次。

每隔5分钟装载到内存中,高速计算网站的热点url(实时...这里用spark),并将这些信息反馈前端缓存服务器,以提高高缓存命中率。

2运营商流量分析:每天的流量数据在2TB-5TB之间拷贝到HDFS上,通过交互式分析引擎模板,能够运行几百个复杂的数据清洗和报表业务。总时间比类似的硬件配置的小集群(db2 )要快2-3倍

3城市交通卡口视频监控信息实时分析,采用基于流式进行全省范围交通卡口的视频监控的信息进行实时的分析,警告和统计,可以对全省范围之内未年检和套牌车辆进行在300毫秒左右就可以的结论并实时进行警告。

五Hadoop的生态圈:
重要组件:

1HDFS分布式文件系统

2MapReduce分布式计算框架

3HIVE基于大数据技术的SQL数据仓库工具:文件系统+运算框架

4HBase:基于HADOOP的分布式海量数据库(NOSQL非关系型数据库,列式存储)

5ZooKeeper分布式协调技术主件

6Oozie工作流调度框架

7Sqoop:数据导入导出工具

8Flume日志数据采集框架

9Mahout:基于MapReduce/Spark/flink 等分布式框架的机器学习算法库

什么是分布式系统?

一分布式软件系统是由一组通过网络进行通信为了完成共同的任务而协调工作的计算机节点所组成的系统

,分布式系统的出现为了用廉价普通的机器完成单个计算机无法完成的计算,存储等任务,七亩地就是充分利用计算机来处理更多的任务。

二、常用的分布式软件系统的案例

Web服务器集群,单台服务器的性能和资源有限,支持的连接并发数也是有限的,因此必须采用多态服务器集群的方式才能提高并发数和计算机计算的速度。

每台Web服务器都会分配一个域名,肯定是同一个域名的进入的是同一个入口

百度有上千台Web服务器,使用www.baidu.com一个入口进行访问,至于哪台服务器提供我们服务,具体的就需要底层实现一个技术:负载均衡。

三离线数据的分析流程

Web日志数据挖掘(数学足够好可以走数据挖掘,可以学R语言完成数据建模)

案例

分析:
网络点击流量日志数据挖掘系统

需求:
web点击流日志,包含着网站运行的重要信息,通过日志分析我们可以知道网站的访问量,哪个网页访问的人数最多,哪个网页更有价值,广告在转换率,访客的来源信息,访客的终端信息。

数据来源:
获取方式在页面预处理一段js程序,为了页面想要监听的标签绑定时间,只要用户点击或触发,就可以得到用户的信息并产生日志文件。

数据处理流程:
1数据采集:定制开发程序或使用Flume

2数据预处理:定制开发 MapReduce程序运行在Hadoop计算

3数据仓库计算:基于Hadoop之上使用hive技术完成数仓,数仓中会完成数据清洗EFL

4数据导出:需要使用sqoop将数据导出

5数据可视化:就由web人员完成

ps:可以使用Oozie工具来辅助开发。

猜你喜欢

转载自blog.csdn.net/myloveprogrmming/article/details/82963885
今日推荐