hadoop学习二:hadoop基本架构与shell操作
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操作的更多相关文章
- Hadoop开发第6期---HDFS的shell操作
一.HDFS的shell命令简介 我们都知道HDFS 是存取数据的分布式文件系统,那么对HDFS 的操作,就是文件系统的基本操作,比如文件的创建.修改.删除.修改权限等,文件夹的创建.删除.重命名等. ...
- Hadoop学习记录(2)|HDFS shell命令|体系结构
HDFS的shell 调用文件系统(FS)shell命令使用hadoop fs的形式 所有的FS shell命令使用URI路径作为参数. URI格式是scheme://authority/path.H ...
- hadoop学习之hadoop完全分布式集群安装
注:本文的主要目的是为了记录自己的学习过程,也方便与大家做交流.转载请注明来自: http://blog.csdn.net/ab198604/article/details/8250461 要想深入的 ...
- hadoop学习;hadoop伪分布搭建
先前已经做了准备工作安装jdk什么的,以下開始ssh免password登陆.这里我们用的是PieTTY工具,当然你也能够直接在linux下直接操作 ssh(secure shell),运行命令 ssh ...
- Hadoop学习之Hadoop集群搭建
1.检查网络状况 Dos命令:ping ip地址,同时,在Linux下通过命令:ifconfig可以查看ip信息2.修改虚拟机的ip地址 打开linux网络连接,在桌面右上角,然后编辑ip地址, ...
- Hadoop学习笔记——Hadoop经常使用命令
Hadoop下有一些经常使用的命令,通过这些命令能够非常方便操作Hadoop上的文件. 1.查看指定文件夹下的内容 语法: hadoop fs -ls 文件文件夹 2.打开某个已存在的文件 语法: h ...
- 大数据技术之_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 ...
- Zookeeper学习之路 (三)shell操作
Zookeeper的shell操作 Zookeeper命令工具 在启动Zookeeper服务之后,输入以下命令,连接到Zookeeper服务: [hadoop@hadoop1 ~]$ zkCli.sh ...
- 二十六、Hadoop学习笔记————Hadoop Yarn的简介复习
1. 介绍 YARN(Yet Another Resource Negotiator)是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度. 之前有提到过,Yarn主要是为了减轻Hadoop ...
随机推荐
- NOIP2018复赛 游记
Day -? 停了两个星期的课,逃了一场期中考试.随便做了点题并不知道有什么用.见不到夫人很难受. Day 0 依然没有跟学校走.据说今年合肥居然不下雨,印象里每年这个时候来到这里都是阴雨连绵……突然 ...
- 【题解】HEOI2013Eden 的新背包问题
这题真的神奇了……蜜汁复杂度(`・ω・´) 应该是一个比较连贯的思维方式:去掉一个物品,那么我们转移的时候不考虑它就好了呗.考虑暴力:每一次都对剩余的n - 1个物品进行多重背包转移,获得答案.既然可 ...
- [Leetcode] Roman to integer 罗马数字转成整数
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...
- poj3133 Manhattan Wiring
Manhattan Wiring Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 2016 Accepted: 1162 ...
- Hbase写入量大导致region过大无法split问题
最近在线上往hbase导数据,因为hbase写入能力比较强,没有太在意写的问题.让业务方进行历史数据的导入操作,中间发现一个问题,写入速度太快,并且业务数据集中到其中一个region,这个region ...
- Linux命令的返回值
转摘自:http://hi.baidu.com/suchshow/item/230255b6caab369218469732 在 Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令, ...
- Lesson 3
1.关于面向对象的三个重要属性 Encapsulation(封装):无法直接访问类的成员变量,而是通过一些get set方法,间接访问数据域: Polymorphism(多态):静态绑定,动态绑定, ...
- jsp中的路径问题
在学jsp的时候我每次都遇到路径的问题,每次都不能够说100%的把这搞定,这让我很烦恼,今天下午花了点时间来把路径问题整理了下. 一:首先我们在加载项目(我的项目名称是FinalExam)是的路径是h ...
- 教主泡嫦娥(RQNOJ 595)
题目描述 [问题背景] 2012年12月21日下午3点14分35秒,全世界各国的总统以及领导人都已经汇聚在中国的方舟上. 但也有很多百姓平民想搭乘方舟,毕竟他们不想就这么离开世界,所以他们决定要么登上 ...
- python的tuple()
描述 Python 元组 tuple() 函数将列表转换为元组. 语法 tuple()方法语法: tuple( seq ) 参数 seq -- 要转换为元组的序列. 返回值 返回元组. 实例 以下实例 ...