Hadoop基础知识总结( 二 )


广义的hadoop:指的是hadoop的生态系统,即其他各种组件在内的一整套软件 。hadoop生态系统是一个很庞大的概念,hadoop只是其中最重要最基础的部分,生态系统的每一个子系统只结局的某一个特定的问题域 。不是一个全能系统,而是多个小而精的系统 。
hadoop生态系统

Hadoop基础知识总结

文章插图
 
hadoop生态系统
上图是hadoop生态系统的一个构成 。HDFS是基础的文件系统,用来存储数据,多副本,高容错 。MapReduce用来进行并行计算,它运行在Yarn之上 。这是前文提到过的三大核心组件,下面我们简要介绍图中的其他部分 。
由于MapReduce的学习成本相对较高,这样就诞生了一些其他框架 。
Hive 处理的是海量结构化日志数据的统计问题 。它定义了一种类似SQL的语言Hive QL,借助于hive引擎能将其转换为MapReduce作业并提交到集群上进行运算 。hive适用于离线处理 。相比之下,SQL的门槛就低得多
Mahout是一个机器学习算法库,实现了很多数据挖掘的经典算法,帮助用户很方便地创建应用程序 。
Pig可以将脚本任务转换为MapReduce作业,同样是适用于离线分析 。
Oozie是一个工作流调度引擎,用来处理具有依赖关系的作业调度 。类似的框架有Azkaban,airflow等 。
Zookeeper:分布式协调服务,“动物园管理员”角色,是一个对集群服务进行管理的框架,如维护故障切换等 。
Flume:日志收集框架 。将多种应用服务器上的日志,统一收集到HDFS上,这样就可以使用hadoop进行处理
Sqoop:提供关系型数据库与HDFS数据相互传输的功能 。
Hbase:面向列存储的数据库 。适用于实时快速查询的场景 。
除此之外,还有spark,kafka,flink,redis等新兴的一些实用框架 。
Hadoop生态系统的特点:
  • 开源,社区高活跃
  • 开源意味着源码可获取,可以直接基于源码进行改造实现个性化需求 。社区活跃高意味着迭代更新快,维护的人多 。
  • 囊括了大数据处理的方方面面
  • 具有成熟的生态圈 。
hadoop发行版本的选择
  • Apache hadoop:解决了单个框架的额问题,综合起来使用会有jar包冲突,不适合于生产环境 。
  • CDH:Cloudera Distributed Hadoop 。商业版本 。使用Cloudera Manager对集群进行管理,通过浏览器,不需要通过linux就可以安装,与spark结合的很好 。没有jar包冲突的问题 。但Cloudera Manager不开源,企业版收费 。
  • CDH的下载地址:http://archive.cloudera.com/cdh5/cdh/5/
  • HDP:Hortonworks Data Platform 。商业版本之一,使用Ambari进行统一管理,对服务的用户收费 。
总结
Hadoop基础知识总结

文章插图
 
关于Hadoop概述的知识就讲解到这里 。




推荐阅读