太阳城手机版之Hadoop初识篇-Hadoop-@太阳城手机版资讯
你好,游客 登录
背景:
阅读新闻

太阳城手机版之Hadoop初识篇

[日期:2017-09-25] 来源:简书  作者: [字体: ]

  太阳城娱乐介绍 (直奔主题)

  开源的太阳城分析平台,解决了太阳城手机版(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储和处理。适合处理非结构化太阳城,包括HDFS,MapReduce基本组件与扩展组件Pig、Hive、Hbase、Sqoop、Flume、ZooKeeper和Spark等。

  Hadoop基本组件

  HDFS 组件 : 提供了一种跨服务器的弹性太阳城存储系统,在由普通PC组成的集群上提供高可靠的文件存储,通过将块保存多个副本的办法解决服务器或硬盘坏掉的问题。

  存储结构如下图:

太阳城手机版

  MapReduce 组件 : 通过简单的Mapper和Reducer的抽象提供一个编程模型,可以在一个由几十台上百台的PC组成的不可靠集群上并发地,分布式地处理大量的太阳城集,而把并发、分布式(如机器间通信)和故障恢复等计算细节隐藏起来。而Mapper和Reducer的抽象,又是各种各样的复杂太阳城处理都可以分解为的基本元素。这样,复杂的太阳城处理可以分解为由多个Job(包含一个Mapper和一个Reducer)组成的有向无环图(DAG),然后每个Mapper和Reducer放到Hadoop集群上执行,就可以得出结果。

  MapReduce工作原理图如下:

太阳城手机版

  Hadoop 扩展组件

  这些技术主要包括了Sqoop、Flume、Hive、Pig、ZooKeeper、Spark等。

  Pig 组件 : Apache Pig也是Hadoop框架中的一部分,Pig提供类SQL语言(Pig Latin)通过MapReduce来处理大规模半结构化太阳城。而Pig Latin是更高级的过程语言,通过将MapReduce中的设计模式抽象为操作,如Filter,GroupBy,Join,OrderBy。

  Hive 组件 : 是一个基于 太阳城娱乐 的开源太阳城仓库工具,用于存储和处理海量结构化太阳城。它把海量太阳城存储于 太阳城娱乐 文件系统,而不是太阳城库,但提供了一套类太阳城库的太阳城存储和处理机制,并采用 HQL (类 SQL )语言对这些太阳城进行自动化管理和处理。我们可以把 Hive 中海量结构化太阳城看成一个个的表,而实际上这些太阳城是分布式存储在 HDFS 中的。 Hive 经过对语句进行解析和转换,最终生成一系列基于 太阳城娱乐 的 map/reduce 任务,通过执行这些任务完成太阳城处理。

  Hbase 组件 :

  HBase是一个构建在HDFS上的分布式列存储系统

  HBase是基于Google BigTable模型开发的,典型的key/value系统;

  HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化太阳城存储;

  从逻辑上讲,HBase将太阳城按照表、行和列进行存储。

  与太阳城娱乐一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

  与HDFS关系图如下:

太阳城手机版

  Sqoop 组件 : Sqoop 工具是太阳城娱乐环境下连接关系太阳城库(如 :MySQL ,Oracle) ,和太阳城娱乐存储系统的桥梁,支持多种关系太阳城源和hive,hdfs,hbase的相互导入。一般情况下,关系太阳城表存在于线上环境的备份环境,需要每天进行太阳城导入,根据每天的太阳城量而言,sqoop可以全表导入,对于每天产生的太阳城量不是很大的情形可以全表导入,但是sqoop也提供了增量太阳城导入的机制。

  Flume 组件 : Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类太阳城发送方,用于从网站服务器上收集太阳城。同时Flume提供对太阳城进行简单处理,并写到HDFS,HBase等集中存储器中。Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。

  应用场景比如我们在做一个电子商务网站,然后我们想从消费用户中访问点特定的节点区域来分析消费者的行为或者购买意图. 这样我们就可以更加快速的将他想要的推送到界面上,实现这一点,我们需要将获取到的她访问的页面以及点击的产品太阳城等日志太阳城信息收集并移交给Hadoop平台上去分析.而Flume正是帮我们做到这一点。现在流行的内容推送,比如广告定点投放以及新闻私人定制也是基于次,不过不一定是使用FLume,毕竟优秀的产品很多,比如facebook的Scribe,还有Apache新出的另一个明星项目chukwa,还有淘宝Time Tunnel。

  结构如下图所示:

  ZooKeeper 组件 : 一种集中服务,其用于维护配置信息,命名,提供分布式同步,以及提供分组服务。

  ZooKeeper是一个典型的分布式太阳城一致性的解决方案,分布式程序可以基于它实现诸如太阳城发布/订阅、负载均衡、命名服务、分布式协调通知、集群管理、master选举、分布式锁、分布式队列等功能。ZooKeeper可以保证如下分布式一致性特性。

  顺序一致性:从同一个客户端发起的事务请求,最终将严格按照其发起顺序被应用到ZooKeeper中。

  原子性:更新操作要么成功要么失败,没有中间状态

  单一视图:不管客户端连接哪一个服务器,客户端看到服务端的太阳城模型都是一致的(the same view of service)。

  可靠性:一旦一个更新成功,那么那就会被持久化,直到客户端用新的更新覆盖这个更新。

  实时性:Zookeeper仅保证在一定时间内,客户端最终一定能够从服务端读到最新的太阳城状态。

  Spark组件: Spark是一个Apache项目,它被标榜为“快如闪电的集群计算”。它拥有一个繁荣的开源社区,并且是目前最活跃的Apache项目之一。

  Spark提供了一个更快、更通用的太阳城处理平台。和Hadoop的MapReduce相比,Spark可以让你的程序在内存中运行时速度提升100倍,或者在磁盘上运行时速度提升10倍。去年,在100 TB Daytona GraySort比赛中,Spark战胜了Hadoop,它只使用了十分之一的机器,但运行速度提升了3倍。Spark也已经成为 针对 PB 级别太阳城排序的最快的开源引擎。 注: MapReduce适合历史太阳城分析计算,Spark适合实时太阳城分析计算。

  Cloudera: 100%开源的商业化Apache Hadoop发行版本(CDH, Cloudera’s Distribution including Apache Hadoop)和相关的组件,其中包括了各类安全高效的企业级太阳城管理工具,如Hive, HBase,Oozie, Zookeeper等。

  Hortonworks: Hortonworks是一家基于Hadoop提供太阳城手机版服务的公司,致力于开发Hadoop框架内软件,提升太阳城手机版的处理能力。开发了很多增强特性并提交至核心主干,这使得Hadoop能够在包括Windows Server和Azure在内平台上本地运行。

  MapR: 获取更好的性能和易用性而支持本地Unix文件系统而不是HDFS。提供诸如快照、镜像或有状态的故障恢复等高可用性特性。领导着Apache Drill项目,是Google的Dremel的开源实现,目的是在Hadoop太阳城上执行类似SQL的查询以提供实时处理。

  最后结合上面介绍来一张各组件整体结构图如下:

  注:计划之后针对每个组件进行详情介绍与如何安装使用并形成独立篇章 ,最后给合java语言进行开发步骤详解。





收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款