hadoop上的并行应用程序开发是基于MapReduce编程框架的,MapReduce编程模型的原理是:利用一个输入的key/value对集合来产生一个输出的key/value对集合。

MapReduce库的用户用两个函数来表达这个计算:Map和Reduce。

    用户自己定义的map函数接收一个输入的key/value对,然后产生一个中间key/value对的集合。MapReduce把全部具有同样key值的value集合在一起,然后传递给reduce函数。
    用户自己定义的reduce函数接收key和相关的value集合。reduce函数合并这些value值,形成一个较小的value集合。一般来说,每次reduce函数调用仅仅产生0或1个输出的value值。通常我们通过一个迭代器把中间的value值提供给reduce函数,这样就能够处理无法所有放入内存中的大量的value值集合了。MapReduce计算模型很适合在大量计算机组成的大规模集群上并行执行。
    Hadoop分布式文件系统由一个名称节点和N个数据节点组成。

每一个节点均是一台普通的计算机。在使用方式上HDFS与我们熟悉的单机文件系统很类似,它能够创建文件夹,创建、复制和删除文件。以及查看文件的内容等。

    通常,MapReduce框架和分布式文件系统是执行在一组同样的节点上的,也就是说,计算节点和存储节点在一起。这样的配置同意框架在那些已经存好数据的节点上高效地调度任务,这能够使整个集群的网络带宽被很高效的利用。

HBase的数据管理

    HBase是一个类似Bigtable的分布式数据库,它的大部分特性和Bigtable一样,是一个稀疏的、长期存储的、多维度的排序映射表。这张表的索引是行keyword、列keyword和时间戳。每一个值是一个不解释的字符数组,数据都是字符串。没有类型。
HBase体系结构的三大重要组成部分是:
  • HBaseMaster:HBase主server,与Bigtable的主server类似。
  • HRegionServer:HBase域server,与Bigtable的Tabletserver类似。
  • HBaseClient:HBase客户端是由org.apache.hadoop.HBase.client.HTable定义的。
    NameNode:HDFS的守护程序。记录文件是怎样切割成数据块的。以及这些数据块被存储到哪些节点上,对内存和I/O进行集中管理,是个单点,发生问题将使集群崩溃
    SecondaryNameNode:监控HDFS状态的辅助后台程序。每一个集群都有一个,与NameNode进行通讯。定期保存HDFS元数据快照。当NameNode故障能够作为备用NameNode使用
    DataNode:每台从server都执行一个,负责把HDFS数据块读写到本地文件系统。负责所在物理节点的存储管理。一次写入,多次读取,文件由数据块组成。典型的大小是64MB,数据块尽量散布到各个节点
    JobTracker:用于处理作业的后台程序,决定有哪些文件參与处理,然后分割task并分配节点,监控task,重新启动失败的task,每一个集群仅仅有唯一一个JobTracker。位于Master节点
    TaskTracker:位于Slave节点,与DataNode结合,管理各自节点上的task,每一个节点仅仅有一个TaskTracker,但一个TaskTracker能够启动多个JVM,用于并行运行map或reduce任务,与JobTracker交互
    Master:执行NameNode、SecondaryNameNode、JobTracker的节点,Master不是唯一的
    Slave:执行TaskTracker、DataNode的节点

三种执行模式

单机模式:安装简单,差点儿不用作不论什么配置。但仅限于调试用于
伪分布模式:在单节点上同一时候启动NameNode、DataNode、JobTracker、TaskTracker、SecondaryNameNode等五个进程。模拟分布式执行的各个节点
全然分布模式:正常的Hadoop集群,由多个各司其职的节点构成

NameNode使用事务日志记录HDFS元数据的变化。使用映像文件存储文件系统的命名空间,包含文件映射。文件属性等。

Hadoop与分布式开发的更多相关文章

  1. java大数据最全课程学习笔记(2)--Hadoop完全分布式运行模式

    目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages 目录 Hadoop完全分布式运行模式 步骤分析: 编写集群分发脚本xsync 集群配置 集群部署规划 配置集群 集群单 ...

  2. Hadoop HDFS分布式文件系统设计要点与架构

      Hadoop HDFS分布式文件系统设计要点与架构     Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群 ...

  3. Hadoop伪分布式模式部署

    Hadoop的安装有三种执行模式: 单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置.Hadoop执行在一个Java进程中.使用本地文件系统.不使用HDFS, ...

  4. 一步到位分布式开发Zookeeper实现集群管理

    说到分布式开发Zookeeper是必须了解和掌握的,分布式消息服务kafka .hbase 到hadoop等分布式大数据处理都会用到Zookeeper,所以在此将Zookeeper作为基础来讲解. Z ...

  5. 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现

    『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现 1.基本设定和软件版本 主机名 ip 对应角色 mas ...

  6. 【转】Hadoop HDFS分布式环境搭建

    原文地址  http://blog.sina.com.cn/s/blog_7060fb5a0101cson.html Hadoop HDFS分布式环境搭建 最近选择给大家介绍Hadoop HDFS系统 ...

  7. windows下eclipse远程连接hadoop集群开发mapreduce

    转载请注明出处,谢谢 2017-10-22 17:14:09  之前都是用python开发maprduce程序的,今天试了在windows下通过eclipse java开发,在开发前先搭建开发环境.在 ...

  8. Hadoop-01 搭建hadoop伪分布式运行环境

    Linux中配置Hadoop运行环境 程序清单 VMware Workstation 11.0.0 build-2305329 centos6.5 64bit jdk-7u80-linux-x64.r ...

  9. Hadoop完全分布式集群搭建

    Hadoop的运行模式 Hadoop一般有三种运行模式,分别是: 单机模式(Standalone Mode),默认情况下,Hadoop即处于该模式,使用本地文件系统,而不是分布式文件系统.,用于开发和 ...

随机推荐

  1. UVA 658 It's not a Bug, it's a Feature!

    这个题目巧妙之处在于用二进制的每个位1,0分别表示bug的有无,以及实施补丁对相应bug的要求以及实施后的对bug的影响. 软件bug的状态:1表示相应bug仍然存在,0表示已经修复.这样可以将软件的 ...

  2. easyui源码翻译1.32--DateTimeBox(日期时间输入框)

    前言 扩展自$.fn.datebox.defaults,使用$.fn.datetimebox.defaults重写默认值对象.下载该插件翻译源码 和日期输入框类似,日期时间输入框允许用户选择日期和指定 ...

  3. 冒泡排序BubbleSort

    /** * * @author Administrator * 功能:交换式排序之冒泡排序 */ package com.test1; import java.util.Calendar; publi ...

  4. android viewpager change adapter ---在使用viewpager设置新的adapter的时候发现页面还是显示旧的adapter中的值

    有一个需求是当用户选择navigationview中的某一项时,右边的viewpager需要动态切换不同的adapter 发现直接setAdapter没有任何反应,加载的数据还是旧的数据 折腾了半天只 ...

  5. Linux改变进程优先级的nice命令

    前言: VPS普遍性能不高,很多人可能有这样一个感受,在执行du.tar等命令时,会造成系统负载飙升,Apache响应缓慢.这时nice命令改变进程优先级可能能缓解这种状况.nice命令用于调整Lin ...

  6. WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案

    首先先得瑟一下,有关WPF中不规则窗体与WindowsFormsHost控件不兼容的问题,网上给出的解决方案不能满足所有的情况,是有特定条件的,比如  WPF中不规则窗体与WebBrowser控件的兼 ...

  7. [NYOJ 37] 回文字符串

    回文字符串 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当 ...

  8. windows安装PHP5.4.8+Apache2.4.3+Mysql5.5.28

    最近听说PHP5.4速度很快,所以想建立一个本地环境测试下.我打算用本地windows xp sp3下安装PHP5.4.8.Apache2.4.3和Mysql5.5.28. 首先去下载PHP.Apac ...

  9. nginx根据域名做http,https分发

    omcat端口:8080 做好虚拟主机 参照我的另一篇文章nginx端口:80 根据域名分派 在conf/nginx.conf中的http中增加 include www.huozhe.com.conf ...

  10. 成功安装mysql(mysql-5.5.32-winx64.msi)后,为何服务管理器里找不到MYSQL服务名?

    解决方案: 1.打开cmd,切换到mysql的bin目录下 2. D:\Program Files\MySQL5.1\bin>mysqld.exe -install 成功后会出现:Service ...