老李分享:大数据测试之HDFS文件系统
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200。POPTEST是国内最早在大数据测试领域中探索的机构,已经形成了先进的行业课程体系和教学方法。poptest陆续会推出大数据方面的知识分享。
Hadoop主要由HDFS和MapReduce引擎两部分组成。
从0.20.X分支发展出hadoop 1.0.X版 目前是稳定版本。生产环境优先使用。
分布式文件系统(DFS)
1、是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的用户分享文件和存储空间。
2、对用户透明。用户看来就像访问本地的磁盘一样。
3、容错性。即使系统中某个节点宕机,整体系统仍然可以持续运作而不会有数据丢失。
HDFS的架构
主从(Master-Slave),master在系统中只有一个,slave在系统中可以有多个。master维护namenode。
slave维护datanode。
Namenode:整个文件系统的管理节点。负责文件系统名称空间的管理与维护,客户文件操作的控制及具体
存储任务的管理与分配。元数据的管理。元数据(fsimage:存储某一时段NameNode内存元数据信息;edits:
操作日志文件;fstime:保存最近一次chechpoint的时间;version:标志性文件,表明前三个创建成功)。
hdfs-site.xml的dfs.name.dir的属性。
DateNode:提供真实文件数据的存储服务。文件分块(Block),默认块大小64MB。Replication:默认有两个
副本。有三个文件保证文件的安全。在hdfs.site.xml的dfs.replication配置。
SecondaryNameNode:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,
在本地保存,并将其推送到NameNode,同时重置NameNode的editis.SecondaryNameNode默认安装在NameNode
节点上,但这样不安全,可以移动位置。
HDFS数据流-写文件流程:
1、客户端把数据缓存到本地临时文件夹
2、客户端联系NameNode,申请文件命名空间,文件权限等,NodeNode分配DataNode,DateNode依照客户端的位置
被排列成一个有着最近物理距离的序列。
3、与序列的第一个数据服务器建立Socket连接,发送请求头,然后等待回应,一次下传,客户端得到回包,流水线建
立成功。
4、正式发送数据,以4K为大小传送。
HDFS数据流-读文件流程
客户端联系NameNode,得到所有数据块信息,以及数据块对应的所有数据服务器的位置信息尝试从某个数据块对应的一
组数据服务器中选出一个,进行连接。数据被一个包一个包发送回客户端,等到整个数据块的数据都被读取完了,就会
断开此链接,尝试连接下一个数据块对应的数据服务器,整个流程,依次如此反复,直到所有想读的都读取完了为止。
老李分享:大数据测试之HDFS文件系统的更多相关文章
- 大数据测试之初识Hadoop
大数据测试之初识Hadoop POPTEST老李认为测试开发工程师是面向测试的开发,也就是说,写代码就是为完成测试任务服务的,写自动化测试(性能自动化,功能自动化,安全自动化,接口自动化等等)的cas ...
- 大数据测试之hadoop集群配置和测试
大数据测试之hadoop集群配置和测试 一.准备(所有节点都需要做):系统:Ubuntu12.04java版本:JDK1.7SSH(ubuntu自带)三台在同一ip段的机器,设置为静态IP机器分配 ...
- 老李分享:接口测试之jmeter
老李分享:接口测试之jmeter poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.移动端自动化测试很多人把他仅仅理解成appu ...
- 我要进大厂之大数据Hadoop HDFS知识点(2)
01 我们一起学大数据 老刘继续分享出Hadoop中的HDFS模块的一些高级知识点,也算是对今天复习的HDFS内容进行一次总结,希望能够给想学大数据的同学一点帮助,也希望能够得到大佬们的批评和指点! ...
- 我要进大厂之大数据Hadoop HDFS知识点(1)
01 我们一起学大数据 老刘今天开始了大数据Hadoop知识点的复习,Hadoop包含三个模块,这次先分享出Hadoop中的HDFS模块的基础知识点,也算是对今天复习的内容进行一次总结,希望能够给想学 ...
- 大数据测试之Hadoop的基本概念
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标,也是国内最早探索大数据测试培训的机构,开发了独有的课程体系.如果对课程感兴趣,请大 ...
- Java+大数据开发——HDFS详解
1. HDFS 介绍 • 什么是HDFS 首先,它是一个文件系统,用于存储文件,通过统一的命名空间--目录树来定位文件. 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角 ...
- 大数据(1)---大数据及HDFS简述
一.大数据简述 在互联技术飞速发展过程中,越来越多的人融入互联网.也就意味着各个平台的用户所产生的数据也越来越多,可以说是爆炸式的增长,以前传统的数据处理的技术已经无法胜任了.比如淘宝,每天的活跃用户 ...
- 大数据学习——hdfs客户端操作
package cn.itcast.hdfs; import org.apache.commons.io.IOUtils; import org.apache.hadoop.conf.Configur ...
随机推荐
- 分布式一致性算法:Raft 算法(论文翻译)
Raft 算法是可以用来替代 Paxos 算法的分布式一致性算法,而且 raft 算法比 Paxos 算法更易懂且更容易实现.本文对 raft 论文进行翻译,希望能有助于读者更方便地理解 raft 的 ...
- 屏幕适配基础——了解:ppi、dpi、px、sp、dp
做android开发绕不开的几个名词:ppi.dpi.px.sp.dp.那么它们的定义.区别和联系都是什么呢?这篇博客系统的做一个概述和总结. 1.基本概念 px:pixel,像素,电子屏幕上组成一幅 ...
- 一个chrome图片下载插件的开发过程
最近在做采集,发现用chrome的插件来下载整站也是一个不错的思路,所以想开发一个下载网页(仿站)的插件,学习过程如下: 首先查看一些文档资料 学习360翻译的开发文档:http://open.se. ...
- select函数的用法
首先介绍阻塞方式与非阻塞方式: 阻塞方式(block),就是进程或是线程执行到这些函数时必须等待某个事件的发生.如果事件没有发生,进程或线程就被阻塞,函数不能立即返回. 非阻塞方式(non-block ...
- C++ 11 学习2:空指针(nullptr) 和 基于范围的for循环(Range-based for loops)
3.空指针(nullptr) 早在 1972 年,C语言诞生的初期,常数0带有常数及空指针的双重身分. C 使用 preprocessor macroNULL 表示空指针, 让 NULL 及 0 分别 ...
- 11g R2 RAC启动关闭步骤
1.关闭监听 /u01/app/11.2.0/grid/bin/srvctl stop listener -n redhat-rac01 /u01/app/11.2.0/grid/bin/srvctl ...
- Rotate Array leetcode
Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array ...
- 关于JAVA中抽象类和接口的区别辨析
今天主要整理一下新学习的有关于Java中抽象类和接口的相关知识和个人理解. 1 抽象类 用来描述事物的一般状态和行为,然后在其子类中去实现这些状态和行为.也就是说,抽象类中的方法,需要在子类中进行重写 ...
- 关于nodeJS多线程的支持,目前看来无法实现,讲解v8的一些东西
关于这个,我这几天一直在研究,国内关于v8的资料很少,stackoverflow上也不多. 说起来我得说声抱歉,虽然并没有承诺什么.这个功能大概是无法实现.下面我来解释一下为什么. 首先我们要了解一下 ...
- mysql 修改数据库data存放位置
一.首先把mysql的服务先停掉. 二.更改MySQL配置文件My.ini中的数据库存储主路径 打开MySQL默认的安装文件夹C:\Program Files\MySQL\MySQL Server 5 ...