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. Antlr 在 idea 中正确使用的方式

    问题 Caused by: java.io.InvalidClassException: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN ...

  2. bzoj 2426 【HAOI2010】工程选址 贪心

    [HAOI2010]工厂选址 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 447  Solved: 308[Submit][Status][Disc ...

  3. PHP 扒一扒这些题目都考了哪些知识点

    1.模除 题目: <?php echo -10%3; *结果* -1 分析:其实这道题的知识点是在考模除和正负号的关系,那么我们看一段进阶的代码 <?php echo "10%3 ...

  4. POJ 3070 + 51Nod 1242 大斐波那契数取余

    POJ 3070 #include "iostream" #include "cstdio" using namespace std; class matrix ...

  5. 知问前端——日历UI(一)

    日历(datepicker)UI,可以让用户更加直观的.更加方便的输入日期,并且还考虑不同国家的语言限制,包括汉语. 调用datepicker()方法 $('#date').datepicker(); ...

  6. 汕头市队赛 SRM 06 A 撕书

    A 撕书 SRM 06 背景&&描述 游行寺汀正在杀书.         书总共有n页,每页都可以看作是一个小写英文字母,所以我们可以把书看成长度为n的字符串s.         琉璃 ...

  7. Linux XZ格式的解压

    xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数linux默认就带的一个压缩工具. 之前xz使用一直很少,所以几乎没有什么提起. 我是在下载phpmyadmin的时候看到这种压缩格式的,phpm ...

  8. python基础代码(猜年龄、从最内层跳出多层循环、简单的购物车程序)

    1.猜年龄 , 可以让用户最多猜三次! age = 55 i=0 while i<3: user_guess = int (input ("input your guess:" ...

  9. IEEE 802.15介绍

    1. 无线通信 无线通信主要是利用无线电(Radio)射频(RF)技术的通信方式,无线网络是采用无线通信技术实现的网络无线网络可为两种: 近距离无线网络和远距离无线网络 近距离无线网络主要可分为如下两 ...

  10. python基础===python3 get和post请求(转载)

    get请求 #encoding:UTF-8 importurllib importurllib.request data={} data['name']='aaa' url_parame=urllib ...