什么是hadoop?

hadoop是一个可靠,可扩展的分布式开源框架,提供海量数据的存储和计算。一般hadoop指的是hadoop生态圈。

一、先通过一张图了解一下hadoop生态系统整体框架结构。

二、理解hadoop生态系统之前,我们先来认识几个概念:

1.什么是分布式?个人理解,就是将一个系统的功能模块分散部署在不同的服务器上,每个服务器上的系统分别对应一个模块功能,每个模块可能负责几种方法实例,是面向SOA架构的概念,服务器之间通过RPC或者webserver进行交互2.什么是SOA架构?1)翻译为面向中文编程,也叫服务治理。2)从项目角度理解:比如刚开始有一个项目很小,运作在一台服务器上,系统中包含6个模块,因为数据量很小,所以一台服务器的数据库就可以承载这些数据量。慢慢的,项目越做越大,数据量也越来越大,大到一台服务器的数据库只够装一个模块的数据。这时后就引出了SOA的概念,意思是原先一台服务器负责一个系统的6个模块,现在水平扩展到6台服务器,每台服务器负责一个模块。3)从生活角度理解:比如小张新开张一家西餐厅(一个系统),有6名厨师干活(模块),负责洗菜,切菜,配菜,炒菜等工作(模块下的方法实例),刚开始店里客流量比较少,6名厨师忙得过来,当客流量越来越多了,6名厨师因为每个人都要负责洗菜,切菜,配菜,炒菜这么多的工作,逐渐忙不过来,所以小张老板又请了一名配菜师分担压力。哪个厨师需要做菜,配菜师就去帮那名厨师洗菜,切菜,配菜,厨师只负责炒菜。那么配菜师和6名厨师之间的关系就是分布式的关系3.那么服务器之间想要相互访问对方的模块,服务器之间是如何进行交互的呢?这里引申出RPC的概念(远程过程调用)1)RPC翻译为远程过程调用,了解远程过程调用之前,需要先知道什么是本地调用。2)本地调用:A)从专业角度理解:比如一个分布式系统中,有6个服务模块,模块1定义了一个计算器接口,实现了一个加法运算,当在模块1这new了一个计算器实例,这时模块1直接调用计算器实例的加法运算产生了一个结果。这个过程就是本地调用。因为计算器实例是创建在模块1的内存或空间地址里,直接通过方法栈或参数栈就能实现。B)从生活角度理解:一对情侣在家,女的想要洗衣服,那么只要把衣服丢进洗衣机,然后启动洗衣机就可以了。但是女的突然有事出门了,然后想洗衣服,可是不在家洗不了,但是男的在家,这时候女的就可以给男的打电话让他去洗衣服。这个过程就是RPC过程补充:1.RPC的特性1)透明性:远程调用其他服务器上的程序,就像本地调用一样。不用关心底层的网络传输协议2)高性能:RPC server服务能够并发处理多个来自client客户端的请求3)可控性:hadoop有自定义的RPC框架

三、hadoop生态系统各个组件及作用

hadoop核心组件:

 HDFS:高容错、高可靠性、高可扩展性、高吞吐率分布式文件存储系统。负责海量数据的存储。Yarn:资源管理调度系统。负责hadoop生态系统中任务的调度和监控。Mapreduce:基于HDFS,Yarn的分布式并行计算框架。负责海量数据的计算。

hadoop其他辅助组件(这里只列举部分):

数据采集和传输类:

     Flume:是一个分布式可靠的高可用的海量日志收集、聚合、移动的工具,通俗来说flume就是一个日志采集工具。Sqoop:用于hadoop和结构化数据存储(如关系型数据库,mysql,oracle等RDBMS)之间高效传输批量数据。是一个数据传输工具(也是ETL工具之一)

服务类:

     Zookeeper:分布式协调服务。就是为用户的分布式应用程序提供协调服务,如:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务等等。

离线和实时类:

     Hive:基于hdfs,结合类SQL引擎,底层执行MR任务,用于OLAP分析查询的数据仓库。Hbase:基于hdfs,高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。Phoenix:基于hadoop的OLTP业务数据分析SQL引擎。相当于一个Java中间件,提供jdbc连接,操作hbase数据表。

任务调度类:

     Azkaban:简单来说就是执行任务脚本的调度工具。是在LinkedIn上创建的用于运行Hadoop作业的批处理工作流作业调度程序。通过工作依赖性解决订购问题,并提供易于使用的Web用户界面来维护和跟踪您的工作流程。Oozie:是一个可靠且可扩展的工作流调度程序系统,用于管理Apache Hadoop作业。

数据分析类:

     Kylin:是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,能够在亚秒级查询巨大的Hive表,并支持高并发。Presto:是一个开放源代码的分布式SQL查询引擎,用于对大小从GB到PB的各种数据源运行交互式分析查询。Zepplin:基于Web界面组合多个大数据分析引擎的处理能力的大数据交互分析服务软件。

计算引擎类:

 Mapreduce(分布式计算):上述介绍了,这里就省略了...Tez(DAG计算):基于Yarn,允许使用复杂的有向无环图来处理数据的计算引擎。计算速度高于Mapreduce。Spark(内存计算):是一个快速的,通用的集群计算系统。它对 Java,Scala,Python 和 R 提供了的高层 API,并有一个经优化的支持通用执行图计算的引擎。它还支持一组丰富的高级工具,包括用于 SQL 和结构化数据处理的 Spark SQL,用于机器学习的 MLlib,用于图计算的 GraphX 和 Spark Streaming。计算速度高于Mapreduce。

Hadoop架构及各组件介绍相关推荐

  1. Hadoop入门及常用组件介绍

    文章目录 大数据体系架构 hadoop介绍 Hadoop生态系统主要组件 HDFS (分布式文件系统) MapReduce(分布式计算框架) Spark(基于内存的分布式计算框架) Storm(实时的 ...

  2. 2021年大数据Hadoop(二十六):YARN三大组件介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn三大组件介绍 ResourceManager No ...

  3. 07/08_flink shell,基本原理及应用场景、特点、架构图、集群解剖、JobManager、TaskManagers、tasks和操作链、Session/job集群、组件介绍等、应用场景

    1.7.Flink scala shell代码调试 1.7.1.Flink scala shell代码调试语法 1.8.Flink基本原理及应用场景 1.8.1.Flink特点 1.8.2.Flink ...

  4. Apache Ranger、业务背景、现状与需求、大数据安全组件介绍与对别、系统架构及实践、ranger admin、UserSync、plugin、权限模型、权限实现等

    26.2.1业务背景 26.2.1.1现状&&需求 26.2.2大数据安全组件介绍与对比 26.2.2.2 Apache Sentry 26.2.2.3 Apache Ranger 2 ...

  5. 【大数据笔记】hadoop基础——各组件介绍

    目录 故事背景 Hadoop 与大数据之间到底是什么关系? 1.数据存储:HDFS,一个分布式文件系统 2. 数据分析:MapReduce 计算引擎 HDFS(Hadoop 分布式文件系统) MapR ...

  6. hadoop系列(一)概念、组件介绍、安装环境、配置

    hadoop系列(一)概念.组件介绍.安装环境.配置 一.大数据概念 概念 大数据:解决海量数据的采集.存储.分析计算的能力 大数据特点 Volume(大量) Velocity(高速) Variety ...

  7. Hadoop基础-Hdfs各个组件的运行原理介绍

    Hadoop基础-Hdfs各个组件的运行原理介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.NameNode工作原理(默认端口号:50070) 1>.什么是NameN ...

  8. 【微服务架构】SpringCloud组件和概念介绍

    [微服务架构]SpringCloud组件和概念介绍(一) 一:什么是微服务(Microservice)微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为 ...

  9. 02_Pulsar的集群架构、架构基本介绍、Pulsar提供的组件介绍、Brokers介绍、Zookeeper的元数据存储、基于bookKeeper持久化存储、Pulsar代理

    1.2. Apache Pulsar的集群架构 1.2.1.架构基本介绍 1.2.2.Apache Pulsar提供的组件介绍 1.2.2.1.Brokers介绍 1.2.2.2.Zookeeper的 ...

最新文章

  1. 设备树下字符设备驱动
  2. Android Studio中统一管理版本号引用配置
  3. tf.boolean_mask
  4. java错误: 非法字符: '\ufeff' 需要class, interface或enum
  5. 面试感悟—-一名3年工作经验的程序员应该具备的技能
  6. 存储过程提示data truncation_手机DATA重新分区教程(超详细)
  7. Vivado关联第三方编辑器-Vscode
  8. 译 | .NET Core 基础架构进化之路(二)
  9. 带你玩转Logview: MaxCompute Logview参数详解和问题排查
  10. libvirt虚拟机管理常用指令
  11. ubuntu下安装、卸载软件命令
  12. 我爱你们,我的家人和朋友
  13. 用SeaMonkey写cnblogs博客时碰到的问题
  14. python输出字符串拼接数字_python实现字符串和数字拼接
  15. 《我也能做CTO之程序员职业规划》之十三:用凸透镜选择技术
  16. 真香啊,手把手教你使用 Python 获取基金信息
  17. 知群产品经理必修TOP班-31期学习笔记
  18. 前端开发工作中遇到的一些问题及解决方法
  19. 图片识别出处_搜图神器!你还在问图片的出处吗?
  20. 面对ONF挑衅 思科用ACI回绝SDN挑战

热门文章

  1. java 8安装教程
  2. warframe内部服务器暂时不可用,warframe内部服务器暂时不可用 | 手游网游页游攻略大全...
  3. python密码破解工具_一个最简单的博客园文章密码暴力破解器-python3实现
  4. 质量特性与质量子特性
  5. 多米诺骨牌效应(转载)
  6. 使用do-while实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。
  7. IT业男女薪酬差距扩大 男性比女性高出12%
  8. 六款佩戴牢固的蓝牙耳机、运动型蓝牙耳机推荐
  9. uniapp使用nfc功能及详解
  10. 【数学建模】【matlab python lingo】论文写作过程中的注意点