hadoop 是什么?

1. 适合海量数据的分布式存储与计算平台。

海量: 是指 1T 以上数据。

分布式: 任务分配到多态虚拟机上进行计算。

2. 多个任务是怎么被分配到多个虚拟机当中的?

分配是需要网络通讯的。而且是需要启动资源 或者 消耗一些硬件上的配置。

单 JVM 关注的如何『处理』,而不是交给其他人进行处理这个 『管理』的过程。  所以最开始有两个关键的字  『适合』,

只有当数据量超过 1T 的大数据处理才能凸显 hadoop 的优势;    当然,用 hadoop 处理 几十G、几百G 这种小数据也是可以的,只是体现不了 hadoop的优势罢了,从硬件的角度,从效率的角度都是不太值得的。

3.Hadoop Ecosystem Map   Hadoop生态系统图

博客讲解:  http://www.cnblogs.com/zlslch/p/5080439.html

像其他框架一样,hadoop 也是分层的,  序号③  ⑤ 就是 hadoop 中重要的组成, HDFS 负责数据存储。MapReduce 是海量数据的分布式计算框架。

Structured Data(hiho, sqoop) 是 hadoop 中对传统数据和 hadoop中数据相互转化的工具。传统数据库中的数据可以导入到 hadoop中。hadoop中的数据也可以导入到传统的关系型数据库中。

HBASE 是 hadoop中用的最多和最重要的子项目之一。当然它也是构建于 MapReduce 和 HDFS 之上的。不过 HBASE 可以不基于 HDFS ,只是如果不基于 HDFS时就无法使用 MapReduce 计算框架了。是处理大数据读写操作的,尤其适合一些大型在线系统。

大数据有两层含义:第一层含义,大数据有自己的构造形态,key-value方式。  另外一层含义,就是大家理解的海量数据。 之所以能成为 大数据 是因为 他是  key-value的构建方式。

HDFS


HDFS: Hadoop Distributed File System 分布式文件系统

文件系统  是一套接口,一套平台。是用于管理文件的存储与操作的。

HDFS文件系统,是用于管理分布式文件的存储与操作的HDFS 就为我们提供了一套机制,让海量数据能够分布在不同的计算机上。他提供 言外知音就是 我们不用关心数据是怎么存储的, HDFS 负责存储这件事情。这是我们使用 hadoop 的一个重要的原因,他帮我们屏蔽掉一些分布式操作的一些细节。

MapReduce


MapReduce  : 并行计算框架

分布式系统中有很多台机器,每一台机器存储数据的一部分,我们使用 hadoop 之所以能够很快的计算得出结果,原因很简单 我们计算的代码会在不同的机器上运行, 每一台机器完成计算的一部分,因为每台机器上存储的只是我数据的一部分。多台机器并行计算。然后把计算结果收集过来得出最终的结果。这是Hadoop 之所以块的根源。所以 MapReduce 是我们要研究非常重要的核心,  HDFS 的操作是hadoop 框架屏蔽掉的,所以我们主要是去学习怎么去使用它。作为开发而言,聚焦到核心的核心,肯定是 MapReduce。 因为 MapReduce 是计算框架。也就是说数据已经存储了,我怎么计算它,这在任何一个框架中都是一个比较核心的问题。当然也是最有技术含量的问题。所以 如果学习hadoop 的话,有必要详细研究 MapReduce 的架构、使用、源代码等等所有的核心环节。

关于hadoop的更多相关文章

  1. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  2. 初识Hadoop、Hive

    2016.10.13 20:28 很久没有写随笔了,自打小宝出生后就没有写过新的文章.数次来到博客园,想开始新的学习历程,总是被各种琐事中断.一方面确实是最近的项目工作比较忙,各个集群频繁地上线加多版 ...

  3. hadoop 2.7.3本地环境运行官方wordcount-基于HDFS

    接上篇<hadoop 2.7.3本地环境运行官方wordcount>.继续在本地模式下测试,本次使用hdfs. 2 本地模式使用fs计数wodcount 上面是直接使用的是linux的文件 ...

  4. hadoop 2.7.3本地环境运行官方wordcount

    hadoop 2.7.3本地环境运行官方wordcount 基本环境: 系统:win7 虚机环境:virtualBox 虚机:centos 7 hadoop版本:2.7.3 本次先以独立模式(本地模式 ...

  5. 【Big Data】HADOOP集群的配置(一)

    Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  6. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  7. 程序员必须要知道的Hadoop的一些事实

    程序员必须要知道的Hadoop的一些事实.现如今,Apache Hadoop已经无人不知无人不晓.当年雅虎搜索工程师Doug Cutting开发出这个用以创建分布式计算机环境的开源软...... 1: ...

  8. Hadoop 2.x 生态系统及技术架构图

    一.负责收集数据的工具:Sqoop(关系型数据导入Hadoop)Flume(日志数据导入Hadoop,支持数据源广泛)Kafka(支持数据源有限,但吞吐大) 二.负责存储数据的工具:HBaseMong ...

  9. Hadoop的安装与设置(1)

    在Ubuntu下安装与设置Hadoop的主要过程. 1. 创建Hadoop用户 创建一个用户,用户名为hadoop,在home下创建该用户的主目录,就不详细介绍了. 2. 安装Java环境 下载Lin ...

  10. 基于Ubuntu Hadoop的群集搭建Hive

    Hive是Hadoop生态中的一个重要组成部分,主要用于数据仓库.前面的文章中我们已经搭建好了Hadoop的群集,下面我们在这个群集上再搭建Hive的群集. 1.安装MySQL 1.1安装MySQL ...

随机推荐

  1. tn文本分析语言(四) 实现自然语言计算器

    tn是desert和tan共同开发的一种用于匹配,转写和抽取文本的语言.解释器使用Python实现,代码不超过1000行. github地址:https://github.com/ferventdes ...

  2. iOS开发之微信聊天工具栏的封装

    之前山寨了一个新浪微博(iOS开发之山寨版新浪微博小结),这几天就山寨个微信吧.之前已经把微信的视图结构简单的拖了一下(IOS开发之微信山寨版),今天就开始给微信加上具体的实现功能,那么就先从微信的聊 ...

  3. JDBC常用API小结

    建立数据库链接的三种方式: package com.victor_01; import java.sql.Connection; import java.sql.Driver; import java ...

  4. php通过判断来源主机头进行防盗链

    check.php <html> <body> <form action="test.php" method="post"> ...

  5. CSS表格溢出省略号代替及其他标签

    box-shadow: 20px 20px 55px #777; // div阴影效果 filter:alpha(opacity=60) //设置透明度为60 opacity:0.6 //非IE浏览器 ...

  6. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  7. 【Java基础】并发

    Num1:同步访问共享的可变数据 关键字Synchronized可以保证在同一时刻,只有一个线程可以执行某一个方法,或者某一个代码块.. 同步不仅仅理解为互斥的方式,如果没有同步,一个线程的变化就不能 ...

  8. 用大白话聊聊JavaSE -- 自定义注解入门

    注解在JavaSE中算是比较高级的一种用法了,为什么要学习注解,我想大概有以下几个原因: 1. 可以更深层次地学习Java,理解Java的思想. 2. 有了注解的基础,能够方便阅读各种框架的源码,比如 ...

  9. 小白Linux入门 四

    http://edu.51cto.com/lesson/id-11372.html 28了 文件管理类命令 目录: mkdir mkdir /tmp/x mkdir -p /tmp/a/b -pv b ...

  10. ASP.NET Core开发-后台任务利器Hangfire使用

    ASP.NET Core开发系列之后台任务利器Hangfire 使用. Hangfire 是一款强大的.NET开源后台任务利器,无需Windows服务/任务计划程序. 可以使用于ASP.NET 应用也 ...