hadoop入门(1)——hadoop概述

时间:2022-11-04 17:23:14

一、hadoop生态系统特点

开源、社区活跃、涉及分布式存储和计算的整个生态系统、已得到企业界验证。

hadoop1.0与2.0版本的比较:

1.0包含HDFS+MapReduce。

2.0包括HDFS+YARN+MapReduce+Others

主要区别在于引入了YARN层。集群资源管理层。

hadoop入门(1)——hadoop概述

hadoop入门(1)——hadoop概述hadoop入门(1)——hadoop概述

二、hadoop介绍(以2.0版本为主)

1、分布式存储系统HDFS

分布式存储系统

提供了高可靠性、高扩展性和高吞吐率的数据存储服务。

具备线性扩展的能力。

源自于Google的GFS论文,HDFS是GFS的克隆版。

HDFS具有良好的扩展性、高容错性(通过数据冗余来实现)、适合PB级以上海量数据的存储。

基本原理:

将文件切分为等大的数据库,存储到多台机器上(分布式文件存储系统)

将数据切分、容错、负载均衡等功能透明化。

可将HDFS看成一个容量巨大、具有高容错性的磁盘。

namenode、datanode、zookeeper。

应用场景:

海量数据的可靠性存储。

数据归档。

HDFS架构图(待补充):master-slave架构

2、资源管理系统YARN(Yet Another Resource Negotiator)

负责集群资源的统一管理和调度。是hadoop2.0新增的系统。

使得多个计算框架可以运行在一个集群中。

具有良好的扩展性、高可用性。

自带了多种多用户调度器,适合共享集群环境。

YARN调度图(待补充)

YARN 架构图(待补充):master-slave结构。

3、分布式计算框架MapReduce

分布式计算框架。易于编程、高容错性、高扩展性。

源自于Google的MapReduce论文。

具有良好的扩展性、高容错性(某个节点失败调度到其他节点)、适合PB级以上的海量数据的离线处理。

架构图(待补充)

三、hadoop生态系统

1.0生态系统图。

2.0生态系统图。

HDFS、MapReduce、Hive(数据仓库)、pig(工作流引擎)、mahout(数据挖掘库)、

Oozie(作业流调度系统)、Hbase(分布式数据库)、sqoop(数据TEL工具)、

Flume(日志收集)、Zookeeper(分布式协调服务)、Ambari(安装部署工具)

YARN、Tez(DAG计算)、Spark(内存计算)、Hive2、Pig2、shark

hive:基于MR的数据仓库,是Facebook开源的。Hive定义了HQL查询语言。通常用于离线数据处理。是MR的语言翻译器。

应用于日志分析,统计网站的PV\UV。

海量结构化数据离线分析。

低成本进行数据分析(因为不需要写MR程序)

Hive架构图。

pig:Yahoo开源,目的是提供一种基于MR的数据分析工具。定义了Pig Latin数据流语言。

Mahout:数据挖掘库,基于hadoop的机器学习和数据挖掘的工具。实现了很多聚类、分类算法。

HBase:源自于Google的Bigtable论文。高可用、高性能、面向列、高扩展性。

Zookeeper:源自于Google的Chubby论文。解决分布式环境下数据管理问题:

统一命名、状态同步、集群管理、配置同步。

Sqoop:数据同步工具。支持多种数据库(MySQL、DB2等),连接hadoop和传统数据库的桥梁。

Flume:cloudera开源的日志收集工具。将日志导入到hadoop中。

Oozie:作业流调度系统。

不同作业之间存在依赖关系(DAG),周期性作业、定时执行的作业、作业执行状态监控与报警。

四、hadoop生态系统版本衍化

Apache hadoop、CDH(推荐)、HDP。

hadoop入门(1)——hadoop概述的更多相关文章

  1. 大数据初级笔记二:Hadoop入门之Hadoop集群搭建

    Hadoop集群搭建 把环境全部准备好,包括编程环境. JDK安装 版本要求: 强烈建议使用64位的JDK版本,这样的优势在于JVM的能够访问到的最大内存就不受限制,基于后期可能会学习到Spark技术 ...

  2. hadoop入门:hadoop使用shell命令总结

    第一部分:Hadoop Bin后面根据项目的实际需要Hadoop Bin  包括:Hadoop  hadoop的Shellhadoop-config.sh 它的作用是对一些变量进行赋值     HAD ...

  3. Hadoop入门——初识Hadoop

    一.hadoop是什么 Hadoop被公认是一套行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力.几乎所有主流厂商都围绕Hadoop开发工具.开源软件.商业化工具和技术服务.今年大型IT ...

  4. hadoop入门篇-hadoop下载安装教程(附图文步骤)

    在前几篇的文章中分别就虚拟系统安装.LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤. 在此之前有必要做一个简单的说明:分享的所有内容 ...

  5. Hadoop入门 之 Hadoop的安装

    1.安装Hadoop的三大步骤 答:1.Linux环境,2.JDK环境,3.配置Hadoop. 2.安装Linux 答:利用阿里云,腾讯云等公有云.选择Ubuntu进行安装,然后利用小putty进行操 ...

  6. Hadoop入门 之 Hadoop常识

    1.Hadoop是什么? 答:Hadoop是开源的分布式存储和分布式计算平台. 2.Hadoop的组成是什么? 答:Hadoop由HDFS和MapReduce这两个核心部分组成. HDFS(Hadoo ...

  7. 初识Hadoop入门介绍

    初识hadoop入门介绍 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. < ...

  8. Hadoop入门必须知道的简单知识

    Hadoop入门知识 Hadoop构成 Hadoop由4个主要构成部分: 1) 基础核心:提供基础的通用的功能 2) HDFS:分布式存储 3) MapReduce:分布式计算 4) YARN:资源分 ...

  9. 一、Hadoop入门概述

    一.Hadoop是什么 Hadoop是一个由Apche基金会所开发的分布式系统基础架构. 主要解决海量数据的存储和海量数据的分析计算问题. 广义上来说,Hadoop通常是指一个更广泛的概念—Hadoo ...

  10. hadoop入门手册4:Hadoop【2&period;7&period;1】初级入门之命令:文件系统shell1

    问题导读1.Hadoop文件系统shell与Linux shell有哪些相似之处?2.如何改变文件所属组?3.如何改变hdfs的文件权限?4.如何查找hdfs文件,并且不区分大小写? 概述文件系统 ( ...

随机推荐

  1. 谷歌Cartographer学习(1)-快速安装测试

    谷歌自己提供了安装方法,但是安装比较繁琐,我做了一定的修改,代码放到个人github上,https://github.com/hitcm/. ros下面的安装非常快捷,只需要catkin_make即可 ...

  2. java之其它命令

    java编译命令 javac: javac -d <目录> 源文件.java 指定存放生成的class文件的路径命令行下编译带包名的java源文件: javac -d . XX.java ...

  3. 2048-AI程序算法分析

    转自:CodingLabs 针对目前火爆的2048游戏,有人实现了一个AI程序,可以以较大概率(高于90%)赢得游戏,并且作者在*上简要介绍了AI的算法框架和实现思路.但是这个 ...

  4. mysql事务回滚

    首先条件是表要设置为 InnoDB  类型. 当在一个库连接中,通过调用另一个 库名称.表名称,可以回滚: 当用USE dbName后,在两个或多个库操作时,一次只能回滚一个库中的东西: 当在多个数据 ...

  5. MySQL注入总结

    SELECT first_name, last_name FROM users WHERE user_id = '$id' 1.id=1' or 1=1 --     这个可以查询所有的信息,其中“- ...

  6. linux mysql 数据目录文件夹移动及所遇到的问题

    一 .如果是fedora下用rpm包安装的mysql,修改方法如下: 如果这里说的不够清楚,可以到http://www.vipkj.net/post-839.html给我留言 MySQL默认的数据文件 ...

  7. ListView 条目加载上滑下滑首尾缩放动画实现

    要实现这个效果,只需要再适配器getView之前,给每个条目的view设置相应的动画即可. 首先需要2个动画的xml文件. 在res下新建anim文件夹:(res/anim) 第一个动画xml文件: ...

  8. python自动化开发-1

    1.python简介 python是一门简明并且强大的面向对象的开发语言,已经在WEB开发,软件开发,科学计算,大数据分析,自动化运维等领域得到了广泛的应用. 注意:所有测试均已python3为主,与 ...

  9. Arch安装fcitx输入法

    安装fcitx,安装gtk.qt模块. [root@ARCH ~]# pacman -S fcitx-im :: There are 4 members in group fcitx-im: :: R ...

  10. 1609&colon; &lbrack;Usaco2008 Feb&rsqb;Eating Together麻烦的聚餐

    1609: [Usaco2008 Feb]Eating Together麻烦的聚餐 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1010  Solv ...