一、hadoop生态系统特点

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

hadoop1.0与2.0版本的比较:

1.0包含HDFS+MapReduce。

2.0包括HDFS+YARN+MapReduce+Others

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

二、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.7.1】初级入门之命令:文件系统shell1

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

随机推荐

  1. debian/deepin 15.3安装jdk 1.7 (或jdk 7),配置默认环境

    一.前言 Deepin 15.3是基于Debian开发的,安装jdk 1.7有所不同,默认是openjdk-8-jdk,而我们玩一些编译需要的是jdk 7. 所以本文给出安装JDK 7的教程. 二.安 ...

  2. python下ssh的简单实现

    python下的ssh都需要借助第三方模块paramiko来实现,在使用前需要手动安装. 一.python实现ssh (1) linux下的ssh登录 root@ubuntu:~# ssh morra ...

  3. 【原】javascript事件流

    摘要:事件流这个东西是比较重要的,为了让自己更加理解js中的事件流,必须整理整理,梳理一下事件流的各种东西啊.本文大部分内容参考<javascript高级程序设计第三版> 先来一段书里的原 ...

  4. elasticsearch 优化

    ES 手册 如何提高ES的性能 不要返回较大的结果集 ES是设计成一个搜索引擎的,只擅长返回匹配查询较少文档,如果需要返回非常多的文档需要使用Scroll. 避免稀疏 因为ES是基于Lucene来索引 ...

  5. 点评前端开发工具cortex安装使用方法

    cortex安装方法: 安装最新版 sudo npm install -g cortex cortex config set registry http://registry.cortexjs.org ...

  6. 【迁移】—Entity Framework实例详解 转

    一.Entity Framework 迁移命令(get-help EntityFramework) Enable-Migrations 启用迁移 Add-Migration 为挂起的Model变化添加 ...

  7. WinPcap4.13无法安装解决方法

    360软件管家提示把WinPcap更新至版本:4.1.0.2980,于是把旧版下载后,可新版本怎么也无法顺利安装,出现以下信息,旧版本已安装,关闭所有winpcap-based应用程序和再次运行安装程 ...

  8. [Nhibernate]SchemaExport工具的使用(二)——创建表及其约束、存储过程、视图

    目录 写在前面 文档与系列文章 表及其约束 存储过程 视图 总结 写在前面 由于一直在山西出差,有几天没更新博客了.昨晚回到家,将博客园最近三天更新的文章搜集了一下,花费了半天的时间,看了看,有些文章 ...

  9. tyvj1172 自然数拆分Lunatic版

    背景 话说小小鱼看了P1171(自然数拆分)之后感觉异常不爽,于是异常邪恶地将题目加强. 描述 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式 输入只有一个整数n ...

  10. 在JS中关于堆与栈的认识function abc(a){ a=100; } function abc2(arr){ arr[0]=0; }

    平常我们的印象中堆与栈就是两种数据结构,栈就是先进后出:堆就是先进先出.下面我就常见的例子做分析: main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main( ...