hadoop介绍

hadoop是apache基金会旗下的一个开源的分布式存储和分析的计算平台,使用java语言开发,有很好的跨平台性,可以运行在商用(廉价)硬件上,用户不需要了解费不是底层细节,就可以开发分布式程序,充分使用集群的高速计算和存储

谷歌三篇论文

2003年的<GFS>

硬盘不够大数据储存单份的安全隐患问题,提出分布式文件系统存储的理论思想

解决如何存储大数据集的问题

2004年的<MapReduce>

基于分布式的计算分析编程框架模型,移动计算而非移动数据,分而治之

解决了如何快速分析大数据集的问题

2006年的<BigTable>

针对传统型的数据库不适合存储非结构化数据的缺点,提出 了另一种适合存储大数据集的解决方案

hadoop组成部分

hadoop2.0以后的四个模块
    - hadoop Common:hadoop模块的通用组件
    - hadoop distributed file system:分布式文件管理系统
    - haddop YARN:作业调度和资源管理框架
    - hadoop MapReduce:基于YARN的大型数据集并行处理计算框架
​
hadoop3.0新扩展的的两个模块:
    - hadoop Ozone:hadoop的对象存储机制
    - hadoop submarine:hadoop的机器学习引擎

hadoop生态系统

hbase :
    可扩展的分布式数据库,支持大型的表格的结构化数据存储
        适用于非结构数据存储
            存储基于列,而不是基于行
hive :
    提供数据汇总和临时查询,将结构化数据文件映射为一张数据库表,提供简单的sql查询
        可以将sql语句转化为MapReduce任务运行
saprk :
    hadoop数据的快速和通用的计算引擎
        spark提供了简单富有表现力的引擎,支持但不限于 ETL(Extract-Transform-Load),机器学习,流处理,图计算
​
zookeeper :
    面向分布式应用程序的高性能协调工具,是hadoop和hbase的重要组件
        提供功能:
            配置维护,域名服务,分布式同步,组服务
Sqoop(数据etl/同步工具) :(已经停止维护了)
    sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和hadoop之间传输数据
        数据的导入导出本质上是mapreduce程序,充分利用了MR的并行化和容错性
Flume(日志收集工具) :
    Cloudera开源的日志收集系统,具有分布式,高可靠,高容错,易于制定和扩展的特点
        他将数据从产生,传输,处理并写入目标路径抽象为数据流
            数据源支持在flume中定制发送方(http,file等),能够收集各种不同协议的数据
                提供简单的处理功能,过滤和格式转换等
Kafka(分布式消息队列)
    主要用于处理活跃的流式数据:
        网站的pv(页面刷新),用户的访问内容,搜索内容
            把这些数据用日志记录,隔一段时间进行一次处理
Ambari
    用于供应,管理和监控Apache Hadoop集群基于web的工具
        支持但不限于 HDFS,MapReduce,Hive,Pig,Hbase,Zookeeper,Sqoop,Hcatalog
            提供一个用于查看集群健康状况的仪表板:
                用于可视化查看或诊断如:热图,MapReduce,pig,Hive等应用程序
Avro
    数据序列化系统
        可以将数据结构或对象转换为便于存储和传输的格式,设计的目标是支持数据密集型的应用,适合大规模的存储和交换
            提供了丰富的数据结构,快速可压缩的的二进制格式,储存持久数据的文件集,远程调用rpc和简单的动态语言集成
​
Cassandra:
    可扩展的多主题数据库没有单点故障(是指系统中一点失效,就会让整个系统无法运作的部件):
        是一套开源的分布式NoSQL数据库系统
​
Chukwa:
    管理大型分布系统的数据收集系统(2000+节点,系统产生的监控数据量在T级别)
        构建于Hadoop的HDFS和MapReduce基础上,集成的hadoop的可伸缩型和鲁棒性
            有强大和灵活的工具集,提供数据的生成,收集,去重,排序,分析,展示等功能
​
Mahout:
    apache旗下的开源项目,可扩展的机器学习和数据挖掘库
​
Pig:
    用于并行计算的高级数据流语言和执行框架,
        使用haddop进行数据分析的要求,提供了高层次,面向领域的抽象语言:Pig Latin
​
Tez:
    基于Hadoop YARN的通用数据流编程框架
        提供了一个强大而灵活的引擎,可执任何DAG(有向无环图)任务,处理批处理和交互式用例的数据
​
Oozie(工作流调度器):
    一个可扩展的工作体系,继承hadoop的堆栈,用于协调多个mapreduce作业的执行
        能管理一个复杂的系统,基于外部事件来执行,外部事件包括数据的定时和数据的出现
​
Pig(ad-hoc脚本)
    有雅虎开源,提供一种基于MapReduce的ad-hoc(计算在query时发生)数据分析工具,通常用于进行离线分析
        定义了一种数据流语言-Pig Latin,是MapReduce编程的复杂性的抽象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值