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 ...
随机推荐
- P3375【模板】KMP字符串匹配
前言: 额……很久以前就写了KMP模板(只是半知不解),话说看完了manacher,再回过头看KMP,是真TM简单啊!字符串专题整体较抽象,所以必须牢记思路并时常复习 题目描述 如题,给出两个字符串s ...
- 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互 ...
- Linux重定向: > 和 &> 区别
总结:>只能将正常信息重定向 &>可以将错误信息或者普通信息都重定向输出(下面是实测) [root@Dev_yang shellScript]# lll -bash: lll: c ...
- Qt5 界面中文乱码问题
1.文件所在项目文件 xxx.pro 中添加: QMAKE_CXXFLAGS += -execution-charset:utf- 2.文件以 UTF-8 编码保存 3.添加 utf-8 BOM
- 设置查看java的源程序
1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES" 2. ...
- [bzoj2002][Hnoi2010]Bounce弹飞绵羊——分块
Brief description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装 ...
- 通过jQuery实现轮播效果
HTML <div class="wrap"> <div id="slide"> <ul class="list&quo ...
- A way escape rbash
hacker@beta:~$ ls -rbash: /usr/bin/python: restricted: cannot specify `/' in command names ryuu@beta ...
- Python小程序之sed命令替换
需求: 编写sed命令脚本 代码如下 # Author:Lee Sir import sys,os des_file = r'E:\StartPython\day3\test.txt' des_fil ...
- Swift学习三
http://blog.csdn.net/kuloveyouwei/article/details/36005299 Swift 提供两种集合类型来存储集合,数组和字典.数组是一个同类型的序列化列表集 ...