hadoop学习笔记(七):Java HDFS API】的更多相关文章

介绍 Hadoop分布式文件系统(HDFS)设计的运行环境是商用的硬件系统.他和现存的其他分布式文件系统存在很多相似点.不过HDFS和其他分布式文件系统的区别才是他的最大亮点,HDFS具有高容错的特性并且可以部署在廉价硬件,HDFS提供对应用数据的高吞吐访问,适用于数据量大的应用系统.HDFS放松了POSIX的要求以允许文件系统数据的流访问. 远景和目标 硬件故障 硬件故障是常态而不是异常情况,一个HDFS实例可能会使用成百上千的服务器,每个服务器保存整个文件系统的一部分数据,事实上,整个系统由…
继承 继承的概念 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系. 例如公司中的研发部员工和维护部员工都属于员工,程序中便可以描述为研发部员工和维护部员工继承自员工,同理,JavaEE工程师和Android工程师继承自研发部员工,而维网络维护工程师和硬件维护工程师继承自维护部员工.这些员工之间会形成一个继承体系,具体如下图所示. 在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称…
Block Report DataNode会周期性(默认1小时)将自身节点全部block信息发送给NameNode,以让NameNode正确确维护block信息. 在Block Report的数据源DataNode端,处理逻辑比较简单,对磁盘上的所有Block文件进行遍历保存到一张表中,然后发送给NameNode: 在NameNode端,将该block report与blocksMap中该DataNode的block列表(参见BlocksMap)进行比较和处理,比较处理过程如下: 获取同一dat…
HDFS的客户端核心是DFSClient类,所有使用HDFS的客户端都会持有一个DFSClient对象,或通过持有一个DistributedFileSystem对象间接使用DFSClient: DFSClient通过ClientProtocol向NameNode进行元数据请求: 当需要进行数据请求时,DFSClient会通过访问的类型(读.写)分别构造DFSInputStream.DFSOutputStream对象:这两个类通过ClientDatanodeProtocol与Datanode进行R…
head first java page 74 实参: argument 形参: parameter 方法会运用形参, 调用的一方会传入实参. 实参是传给方法的值.当它传入方法后就成了形参, 参数跟局部变量是一样的.   ? page76 方法可以有多个参数, 在声明的时候要用逗号分开, 传入的时候也用逗号分开 例: void go() { TestStuff t=new TestStuff(); t.takeTwo(12,34); } void takeTwo(int x,int y){ in…
Lease(租约) HDFS(及大多数分布式文件系统)不支持文件并发写,Lease是HDFS用于保证唯一写的手段. Lease可以看做是一把带时间限制的写锁,仅持有写锁的客户端可以写文件. 租约的有效期 HDFS的Lease设定了两个时间限制:softLimit(默认1m),hardLimit(默认1h): Lease持有者在softLimit时限内可以写文件,且不用担心被其它写者抢走Lease: 在超过softLimit仅未及hardLimit时限可以续约,否则Lease可能被其它写者申请走:…
Java条件语句之 switch 当需要对选项进行等值判断时,使用 switch 语句更加简洁明了.例如:根据考试分数,给予前四名不同的奖品.第一名,奖励笔记本一台:第二名,奖励 IPAD 2 一个:第三名,奖励移动电源一个:最后一名奖励 U 盘一个. 语法: 执行过程:当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束:如果没有匹配的 case 语句则执行 default 块的代码. 如: 代码如下: p…
本文原创,转载注明作者和原文链接! 一:总结注意点: 到现在为止学习到的角色:三个NameNode.SecondaryNameNode.DataNode 1.存储的是每一个文件分割存储之后的元数据信息.具体的信息有: 2.而且NameNode的存储是内存存储的,不会有和磁盘的数据交换的过程,这样的话提高了整体的集群的效率,但是这个数据都是需要持久化的,因为不持久化的话,数据是不安全的,加假如哪一天hadoop集群中的NameNode那台服务器挂了的话,里面的元数据如果只是存储在内存中的就全部的丢…
作者:Grey 原文地址:Java IO学习笔记七:多路复用从单线程到多线程 在前面提到的多路复用的服务端代码中, 我们在处理读数据的同时,也处理了写事件: public void readHandler(SelectionKey key) { SocketChannel client = (SocketChannel) key.channel(); ByteBuffer buffer = (ByteBuffer) key.attachment(); buffer.clear(); int re…
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔记系列>.其实,早在2014年Hadoop2.x版本就已经开始流行了起来,并且已经成为了现在的主流.当然,还有一些非离线计算的框架如实时计算框架Storm,近实时计算框架Spark等等.相信了解Hadoop2.x的童鞋都应该知道2.x相较于1.x版本的更新应该不是一丁半点,最显著的体现在两点: (1)H…