Java入门到精通——框架篇之Hadoop概述
一、Hadoop来历
Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明了倒排索引算法,通过加入了Map-reduce的思想来计算Page Rank,通过不断的演变Google带给我们了GFS、Map-Reduce、Bigtable这三大的关键技术和思想。由于Google的这些技术没有开源代码。有个人就模仿Google实现了类似Google全文搜索功能的框架Lucene,它提供了全文检索引擎的架构,包括完整的查询引擎和搜索引擎。面临大数据的情况下,Lucene面对与Google同样的困难。就使得Lucene的作者模仿着Google解决的这些问题在lucene项目下做了一个子项目Nutch。几年以后Google公开了部分GFS和Mapreduce的思想细节,作者在此为基础上做出了Hadoop,Hadoop作为Lucene的子项目Nutch的一部分正式引入了Apache基金。
二、Hadoop解决了什么问题?
随着时间的推移Hadoop一步步的进步解决了一下几个问题:
1、海量数据的及时分析和处理。2、海量数据深入分析和挖掘。3、数据的长期保存。4、实现云计算。5、能在数千个节点上运行,处理数据量和排序时间不断的缩短。
三、Hadoop基本架构。
3.1 Hadoop框架的基本构成。
HBase:NoSql数据库,Key-Value存储,NoSql的数据库链式存储,数据分析提高相应速度。最大化 利用内存。
HDFS: Hadoop distribute file system 分布式文件系统,最大化利用磁盘
MapReduce:编程模型主要用来做数据的分析,最大化利用CPU。
Pig:用户与MapReduce的转换器。Hive :SQL语言到MapReduce的转换器。Zookeeper:服务器节点和进程之间的通讯。chukwa:数据集成通讯。
3.2 Hadoop框架集群架构
Namenode:HDFS的守护程序,记录文件是如何分割成数据块的。以及这些数据块被存储到哪些节点上。对内存和I/O进行集中管理。是个单点,发生故障将使集群崩溃。Secondary Namenode: 监控HDFS状态的辅助后台程序,在每一个集群都有一个,与NameNode进行通讯保存HDFS元数据快照,当NameNode故障可以作为备用NameNode使用。DateNode:每台从服务器都运行一个负责把HDFS数据块读写到本地文件系统。JobTracker:用于处理用户提交代码的后台程序,决定由哪些文件参与处理,然后切割task并分配节点。监控task,重启失败的task,每个集群只有唯一一个JobTracker位于Master节点。
四、总结。
Hadoop的出现解决了我们大数据分析和挖掘,还大大降低了成本,不用买什么很强大的服务器,只要是个PC机我们就可以把它挂到Hadoop节点上就可以让它为我们大数据的分析和挖掘做贡献。Hadoop还解决了我们关于大数据的存储问题,这样我们就不用担心大数据对磁盘I/0操作带来的瓶颈。
Java入门到精通——框架篇之Hadoop概述的更多相关文章
- Java入门到精通——框架篇之Spring源码分析Spring两大核心类
一.Spring核心类概述. Spring里面有两个最核心的类这是Spring实现最重要的部分. 1.DefaultListableBeanFactory 这个类位于Beans项目下的org.spri ...
- Java入门到精通——工具篇之Maven概述
为接手gxpt准备已经快一个月了从SSH2-->EJB-->环境搭建-->Maven的构建.下面就带领大家初始Maven 一.什么是Maven. Maven是一个垮平台的项目管理工具 ...
- Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步
Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步 一.概述 PV操作是对信号量进行的操作. 进程同步是指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消 ...
- Java入门到精通——基础篇之static关键字
一.概述 static 关键字是声明静态变量,静态方法用的.static的含义是属于类且不属于类对象的变量和函数. 二.static的产生. 在创建对象的时候除非用new ...
- Java入门到精通——基础篇之面向对象
一.概述. Java属于面向对象的一种语言,因为Java是面向对象的语言所以这个语言的诞生需要有五个基本特性: 1)万物皆为对象. 2)程序是对象的集合. 3)每个对象都有自己的由其他对象所构成的存储 ...
- 学java入门到精通,不得不看的15本书
学java入门到精通,不得不看的15本书 一.Java编程入门类1.<Java编程思想>2.<Agile Java>中文版 二.Java编程进阶类1.<重构 改善既有代码 ...
- SaltStack 入门到精通第二篇:Salt-master配置文件详解
SaltStack 入门到精通第二篇:Salt-master配置文件详解 转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...
- SaltStack入门到精通第一篇:安装SaltStack
SaltStack入门到精通第一篇:安装SaltStack 作者:纳米龙 发布日期:2014-06-09 17:50:36 实际环境的设定: 系统环境: centos6 或centos5 实验机 ...
- Promise入门到精通(初级篇)-附代码详细讲解
Promise入门到精通(初级篇)-附代码详细讲解 Promise,中文翻译为承诺,约定,契约,从字面意思来看,这应该是类似某种协议,规定了什么事件发生的条件和触发方法. Pr ...
随机推荐
- 洛谷 P3376【模板】网络最大流
题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行 ...
- flask之werkzeug
密码存储的主要形式: 明文存储:肉眼就可以识别,没有任何安全性. 加密存储:通过一定的变换形式,使得密码原文不易被识别. 密码加密的几类方式: 明文转码加密:BASE64, 7BIT等,这种方式只是个 ...
- LeetCode119.杨辉三角 II
119.杨辉三角 II 描述 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例 输入: 3 输出: [1,3,3,1] 进阶 ...
- vi vim 查找替换
#查找# / 光标向下查找 ?光标向上查找 按键盘n,继续查找 #替换# :s/hello/test/ 替换光标所在行第一个hello为test :s/hello/test/g 替换光标所在行所有h ...
- HDU - 1300 简单DP
题意:买珠子的方案有两种,要么单独买,价钱为该种类数量+10乘上相应价格,要么多个种类的数量相加再+10乘上相应最高贵的价格买 坑点:排序会WA,喵喵喵? 为什么连续取就是dp的可行方案?我猜的.. ...
- Kafka使用多个分区时 consumer的Assign配置
天天在给自己挖坑排坑... 因为要开多线程消费,所以分区加到了10,两个broker. Producer没有做特殊处理,所以是随机发到Partitions. 但是Consumer只做Subscribe ...
- MAYA 卸载工具,完美彻底清除干净maya各种残留注册表和文件
是不是遇到MAYA/CAD/3DSMAX/INVENTOR安装失败?AUTODESK系列软件着实令人头疼,MAYA/CAD/3DSMAX/INVENTOR安装失败之后不能完全卸载!!!(比如maya, ...
- storm中几个概念的大小关系
从图可以看出来:topology>supervisor>worker>excutor>task; 也就是说一个topology可以运行在多个supervisor上,一个supe ...
- 关于eclipse添加自动查找文件以及svn的插件
1.添加自动查找当前文件位置的插件(如下图) 在百度搜索下载 OpenExplorer_1.5.0.v201108051313.jar,下载之后放入eclipse下面的plugin文件夹下面既可以 2 ...
- Best HTTP
http://blog.csdn.net/u012322710/article/details/52860747 Best HTTP (Pro) 这是一款很多公司都在用的网页插件,感觉确实不错,分P ...