分布式文件系统HDFS

一:概述

1.HDFS设计目标

2.HDFS核心组件

3.HDFS副本机制

4.HDFS环境搭建

5.HDFS shell命令  java api

6.HDFS读写流程

7.HDFS优缺点

二:

思考:如何创建一个分布式文件系统

重点:文件以多副本的方式进行存储

缺点:文件不管多大都存在一个节点上

1.缺点不管文件多大,在进行数据处理的时候很难进行并行处理,节点有可能成为网络瓶颈,很难进行大数据处理

2.负载均衡很难,每个节点利用率很低

二:分布式文件系统HDFS,来源于Google的GFS论文

发表在2003年,HDFS是GFS的克隆版

1.HDFS是非常巨大的分布式文件系统

2.运行在普通的廉价的机器上面

3.易扩展,为用户提供不错的文件的存储服务(130M的文件,拆分成128M和2M,一般情况还有3个副本)

1.架构

1个Master(NameNode/NN)带N个Slaves(DataNode/DN)

HDFS/YARN/HBase

重点:一个文件将会被拆分成多个Block

blocksize:128M

130M ==>  将会被拆分成2个Block: 128M 和 2M

NameNode:

NameNode是对文件系统的操作,而DataNode是对block的操作

NameNode:是对客户端请求和响应,和元数据(文件的名称,副本的系数,Block存放的DataNode)的管理

DataNode:

DataNode:1.存储用户文件对应的数据块(Block)

2.要定期向NameNode发送心跳信息,汇报本身及其所有block信息,健康状况

一个典型是,一台机器上运行一个NameNode,集群中的其他的机器,每一个都会运行一个DataNode

1个NameNode + N个DataNode

这个架构也并不排除在一台机器上运行多个DataNode,但是在生产环境上是不建议这么做

三:HDFS副本机制

replication factor : 副本因子,副本系数

一个文件里面的所有的block前面的都是一样,只有最后一个不一样

四:HDFS副本存放的策略

HDFS之深入简出(一)的更多相关文章

  1. 深入简出的nginx

    深入简出的nginx hosts的简单介绍 nginx的简单介绍 hosts介绍 谈到nginx我们不得不说hosts hosts的存放在C:\Windows\System32\drivers\etc ...

  2. Vuex 2.0 深入简出

    最近面试充斥了流行框架Vue的各种问题,其中Vuex的使用就相当有吸引力.下面我就将自己深入简出的心得记录如下: 1.在vue-init webpack project (创建vue项目) 2.src ...

  3. 大数据系列博客之 --- 深入简出 Shell 脚本语言(高级篇)

    首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...

  4. 分布式处理框架MapReduce的深入简出

    1).MapReduce的概述 2).MapReduce 编程模型 3).MapReduce架构 4).MapReduce编程 Google MapReduce论文,论文发表于2004年 Hadoop ...

  5. YARN 的深入简出

    1.YARN的产生背景 2.YARN的执行流程 3.YARN的概述 4.YARN的环境搭建 5.YARN的架构 6.如何提交作业到YaRN上执行 YARN的产生MapReduce1.x存在多种问题单节 ...

  6. 深入简出mysql--第一部分

    第二章: 1.sql分类 DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段.数据库.表.列.索引等数据库对象的定义. 常用的语句关键字主要包括 ...

  7. 大数据系列博客之 --- 深入简出 Shell 脚本语言(提升篇)

    首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...

  8. 大数据系列博客之 --- 深入简出 Shell 脚本语言(基础篇)

    首先声明,此系列shell系列博客分为四篇发布,分别是: 基础篇:https://www.cnblogs.com/lsy131479/p/9914747.html 提升篇:https://www.cn ...

  9. hadoop深入简出(二)

    1.上传文件 Hadoop fs -put hello.txt / 2.查看上传的文件 hadoop fs -ls / hadoop fs -text /hello.txt 两个命令都可以 3.创建文 ...

随机推荐

  1. Crontab 删除N天前日志

    linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志 ...

  2. linux集群时间同步搭建

    http://xstarcd.github.io/wiki/sysadmin/ntpd.html http://www.voidcn.com/blog/xuxudede1989/article/p-4 ...

  3. opencv给图片添加文字水印<转>

    其中有一些改动为了文字大小等还有一些图片的尺寸,真正使用的时候可以把尺寸的屏蔽掉 头文件: //==================================================== ...

  4. Python文件夹与文件的操作(转)

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...

  5. 尚硅谷springboot学习1-简介

    以前看过springboot的相关知识,当时偷懒没有做笔记,现在忘得已经差不多了,现在趁着过年有时间,再学习一遍,并做下笔记以备忘. 特性 Spring Boot来简化Spring应用开发,约定大于配 ...

  6. 函数mmap()的使用

    函数mmap是linux的一个系统函数.如下: 函数原型:void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t ...

  7. 健康检测文件httpchk.jsp

    静态显示: <html><body><center> Now time is: <%=new java.util.Date()%> </cente ...

  8. 切换用户身份su与sudo

    普通用户切换到root用户的方式有:su和sudo. 1,su - (su为switch user,即切换用户的简写) 格式:su -l USERNAME(-l为login,即登陆的简写) -l可以将 ...

  9. MyBatis基础-1

    1.Mybatis简介 2.Mybatis环境搭建 3.Mybatis的开发方式 一.什么框架 框架其本质是半成品程序,提供相关规范,并且提供大量可重用的组件. 目的:让开发者开发出结构比较良好,可读 ...

  10. 转: JQuery this和$(this)的区别及获取$(this)子元素对象的方法

    1.JQuery this和$(this)的区别 相信很多刚接触JQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢? 首先来看看JQuery中的  $()  这 ...