poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200。POPTEST是国内最早在大数据测试领域中探索的机构,已经形成了先进的行业课程体系和教学方法。poptest陆续会推出大数据方面的知识分享。

Hadoop主要由HDFS和MapReduce引擎两部分组成。

http://hadoop.apache.org/

从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文件系统的更多相关文章

  1. 大数据测试之初识Hadoop

    大数据测试之初识Hadoop POPTEST老李认为测试开发工程师是面向测试的开发,也就是说,写代码就是为完成测试任务服务的,写自动化测试(性能自动化,功能自动化,安全自动化,接口自动化等等)的cas ...

  2. 大数据测试之hadoop集群配置和测试

    大数据测试之hadoop集群配置和测试   一.准备(所有节点都需要做):系统:Ubuntu12.04java版本:JDK1.7SSH(ubuntu自带)三台在同一ip段的机器,设置为静态IP机器分配 ...

  3. 老李分享:接口测试之jmeter

    老李分享:接口测试之jmeter   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.移动端自动化测试很多人把他仅仅理解成appu ...

  4. 我要进大厂之大数据Hadoop HDFS知识点(2)

    01 我们一起学大数据 老刘继续分享出Hadoop中的HDFS模块的一些高级知识点,也算是对今天复习的HDFS内容进行一次总结,希望能够给想学大数据的同学一点帮助,也希望能够得到大佬们的批评和指点! ...

  5. 我要进大厂之大数据Hadoop HDFS知识点(1)

    01 我们一起学大数据 老刘今天开始了大数据Hadoop知识点的复习,Hadoop包含三个模块,这次先分享出Hadoop中的HDFS模块的基础知识点,也算是对今天复习的内容进行一次总结,希望能够给想学 ...

  6. 大数据测试之Hadoop的基本概念

    poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标,也是国内最早探索大数据测试培训的机构,开发了独有的课程体系.如果对课程感兴趣,请大 ...

  7. Java+大数据开发——HDFS详解

    1. HDFS 介绍  • 什么是HDFS 首先,它是一个文件系统,用于存储文件,通过统一的命名空间--目录树来定位文件. 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角 ...

  8. 大数据(1)---大数据及HDFS简述

    一.大数据简述 在互联技术飞速发展过程中,越来越多的人融入互联网.也就意味着各个平台的用户所产生的数据也越来越多,可以说是爆炸式的增长,以前传统的数据处理的技术已经无法胜任了.比如淘宝,每天的活跃用户 ...

  9. 大数据学习——hdfs客户端操作

    package cn.itcast.hdfs; import org.apache.commons.io.IOUtils; import org.apache.hadoop.conf.Configur ...

随机推荐

  1. 使用国内docker镜像源

    在国内,通过Docker的pull和push命令访问hub.docker时,网络十分慢,而且会出现各种各样的网络连接问题.因此这里介绍下如何使用国内的镜像源,这里以DaoCloud为例. 注册DaoC ...

  2. java初级开发程序员(第五单元)

    1.循环结构(一):   语法:       while(循环条件){ //循环操作 } 示列代码: int i=1; while(i<=100){ System.out.println(&qu ...

  3. GridControl基础设置(一)

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  4. BZOJ 3527: [Zjoi2014]力(FFT)

    我们看一下这个函数,很容易就把他化为 E=sigma(aj/(i-j)/(i-j))(i>j)-sigma(aj/(i-j)/(i-j))(j>i) 把它拆成两半,可以发现分子与分母下标相 ...

  5. Spring源码解析一:IOC容器设计

    一.IOC接口设计 IOC容器设计的源码主要在spring-beans.jar.spring-context.jar这两个包中.IOC容器主要接口设计如下: 这里的接口设计有两条主线:BeanFact ...

  6. 从源码看集合ArrayList

    可能大家都知道,java中的ArrayList类,是一个泛型集合类,可以存储指定类型的数据集合,也知道可以使用get(index)方法通过索引来获取数据,或者使用for each 遍历输出集合中的内容 ...

  7. 使用EntityFramework中DbSet.Set(Type entityType)方法碰到的问题

    使用的是EntityFramework, Version=6.0.0.0,项目原本直接使用将EntityFramework的Entity拿到UI使用,后面想使用dto对象将数据库的Entity与前台分 ...

  8. MySQL学习分享-->日期时间类型

    日期时间类型 ①如果要用来表示年月日时分秒,一般使用datetime类型: ②如果要用来表示年月日,一般使用date类型: ③如果要表示时分秒,一般使用time类型: ④如果只是表示年份,一般使用ye ...

  9. 计算机网络之HTTP(上)基础知识点

    计算机网络,应该是我们编程开发.产品上线到正常的运行维护需要考虑的基本条件之一.之前我记录了一篇很简单的计算机的组成(http://www.cnblogs.com/zhangxiongcn/p/636 ...

  10. php调去存储过程

    第一步,mysql端建存储过程 DELIMITER $$create procedure mintime()beginselect min(year(htime)) as minnian,max(ye ...