1.hadoop1.0与hadoop2.0的区别:

  

  hadoop1.0生态如下图:

  

  hadoop2.0生态:

  

2.HDFS描述:HDFS是google的GFS的开源克隆,HDFS的架构如下图:

  

  1) NameNode:管理HDFS的名称空间,管理数据块映射信息,配置副本策略,处理客户端读写请求。

  2) StandbyNameNode:NameNode的热备,定期合并fsimage和fsedits,推送给NameNode,当Active NameNode出现故障时,快速切换为新的 Active NameNode。

  3) Datanode:存储实际的数据块,执行数据块读/写。

  4) Client:文件切分,与NameNode交互,获取文件位置信息,与DataNode交互,读取或者写入数据,管理HDFS,访问HDFS。

  优点:高容错性;适合批处理;适合大数据处理;流式文件访问;可构建在廉价机器上。

  缺点:低延迟数据访问,比如毫秒级,低延迟与高吞吐率;小文件存取,占用NameNode大量内存,寻道时间超过读取时间;并发写入、文件随机修改一个文件只能有一个写  者,仅支持append。

3.HDFS的数据形式

  文件被切分成固定大小的数据块,默认数据块大小为64MB,可配置块的大小,若文件大小不到64MB,则单独存成一个block。一个文件存储方式按大小被切分成若干个block,存储到不同节点上,默认情况下每个block有三个副本。

  HDFS数据写流程:

  

  HDFS数据读流程:

  

4.MapReduce:是google的MapReduce的开源克隆,适合PB级以上海量数据的离线处理。

  MapReduce的计算框架:

  

  1) Map阶段:

  输入数据格式解析:InputFormat,输入数据处理:Mapper,数据统计:Combiner(统计相同key值的内容),数据分组:Partitioner(计算将任务分配到Reduce任务,hash(key) mod R,R为Reduce任务数)。

  2) Reduce阶段:

  数据远程拷贝,数据按照key排序,数据处理:Reducer,数据输出格式:OutputFormat。

5.YARN:Hadoop 2.0新增系统,负责集群的资源管理和调度,使得多种计算框架可以运行在一个集群中,自带了多种多用户调度器,适合共享集群环境。

  YARN架构:

  

  1)ResourceManager:处理客户端请求,启动/监控ApplicationMaster,监控NodeManager,资源分配与调度。

  2)NodeManager:整个集群有多个,负责单节点资源管理和使用,其功能:单个节点上的资源管理和任务管理,处理来自ResourceManager的命令,处理来自ApplicationMaster的命令。

  3)ApplicationMaster:每个应用有一个,负责应用程序的管理,其功能:数据切分,为应用程序申请资源,并进一步分配给内部任务,任务监控与容错。

  4)Container:对任务运行环境的抽象。描述任务运行节点资源,任务启动命令,任务运行环境。

6.HDFS的shell操作:

  Hadoop的shell命令在hadoop的bin目录下,用hdfs命令可以查看HDFS文件系统中的命令,如下图:

  

  dfsadmin:在bin目录下hadoop dfsadmin命令选项如下图:

  

  dfs:在bin目录下hadoop dfs命令选项如下图:

  

  fsck:检查文件属性命令,其操作如下图:

  

hadoop学习二:hadoop基本架构与shell操作的更多相关文章

  1. Hadoop开发第6期---HDFS的shell操作

    一.HDFS的shell命令简介 我们都知道HDFS 是存取数据的分布式文件系统,那么对HDFS 的操作,就是文件系统的基本操作,比如文件的创建.修改.删除.修改权限等,文件夹的创建.删除.重命名等. ...

  2. Hadoop学习记录(2)|HDFS shell命令|体系结构

    HDFS的shell 调用文件系统(FS)shell命令使用hadoop fs的形式 所有的FS shell命令使用URI路径作为参数. URI格式是scheme://authority/path.H ...

  3. hadoop学习之hadoop完全分布式集群安装

    注:本文的主要目的是为了记录自己的学习过程,也方便与大家做交流.转载请注明来自: http://blog.csdn.net/ab198604/article/details/8250461 要想深入的 ...

  4. hadoop学习;hadoop伪分布搭建

    先前已经做了准备工作安装jdk什么的,以下開始ssh免password登陆.这里我们用的是PieTTY工具,当然你也能够直接在linux下直接操作 ssh(secure shell),运行命令 ssh ...

  5. Hadoop学习之Hadoop集群搭建

    1.检查网络状况 Dos命令:ping ip地址,同时,在Linux下通过命令:ifconfig可以查看ip信息2.修改虚拟机的ip地址    打开linux网络连接,在桌面右上角,然后编辑ip地址, ...

  6. Hadoop学习笔记——Hadoop经常使用命令

    Hadoop下有一些经常使用的命令,通过这些命令能够非常方便操作Hadoop上的文件. 1.查看指定文件夹下的内容 语法: hadoop fs -ls 文件文件夹 2.打开某个已存在的文件 语法: h ...

  7. 大数据技术之_11_HBase学习_01_HBase 简介+HBase 安装+HBase Shell 操作+HBase 数据结构+HBase 原理

    第1章 HBase 简介1.1 什么是 HBase1.2 HBase 特点1.3 HBase 架构1.3 HBase 中的角色1.3.1 HMaster1.3.2 RegionServer1.3.3 ...

  8. Zookeeper学习之路 (三)shell操作

    Zookeeper的shell操作 Zookeeper命令工具 在启动Zookeeper服务之后,输入以下命令,连接到Zookeeper服务: [hadoop@hadoop1 ~]$ zkCli.sh ...

  9. 二十六、Hadoop学习笔记————Hadoop Yarn的简介复习

    1. 介绍 YARN(Yet Another Resource Negotiator)是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度. 之前有提到过,Yarn主要是为了减轻Hadoop ...

随机推荐

  1. P3375【模板】KMP字符串匹配

    前言: 额……很久以前就写了KMP模板(只是半知不解),话说看完了manacher,再回过头看KMP,是真TM简单啊!字符串专题整体较抽象,所以必须牢记思路并时常复习 题目描述 如题,给出两个字符串s ...

  2. Codeforces Round #392(Div 2) 758F(数论)

    题目大意 求从l到r的整数中长度为n的等比数列个数,公比可以为分数 首先n=1的时候,直接输出r-l+1即可 n=2的时候,就是C(n, 2)*2 考虑n>2的情况 不妨设公比为p/q(p和q互 ...

  3. Linux重定向: > 和 &> 区别

    总结:>只能将正常信息重定向 &>可以将错误信息或者普通信息都重定向输出(下面是实测) [root@Dev_yang shellScript]# lll -bash: lll: c ...

  4. Qt5 界面中文乱码问题

    1.文件所在项目文件  xxx.pro 中添加: QMAKE_CXXFLAGS += -execution-charset:utf- 2.文件以 UTF-8 编码保存 3.添加  utf-8 BOM

  5. 设置查看java的源程序

    1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES" 2. ...

  6. [bzoj2002][Hnoi2010]Bounce弹飞绵羊——分块

    Brief description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装 ...

  7. 通过jQuery实现轮播效果

    HTML <div class="wrap"> <div id="slide"> <ul class="list&quo ...

  8. A way escape rbash

    hacker@beta:~$ ls -rbash: /usr/bin/python: restricted: cannot specify `/' in command names ryuu@beta ...

  9. Python小程序之sed命令替换

    需求: 编写sed命令脚本 代码如下 # Author:Lee Sir import sys,os des_file = r'E:\StartPython\day3\test.txt' des_fil ...

  10. Swift学习三

    http://blog.csdn.net/kuloveyouwei/article/details/36005299 Swift 提供两种集合类型来存储集合,数组和字典.数组是一个同类型的序列化列表集 ...