分布式文件系统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. feign client 的简单使用(1)

    依赖: <properties> <java.version>1.8</java.version> <feign-core.version>10.2.0 ...

  2. Centos代理上网设置

    原文链接:http://m.blog.csdn.net/article/details?id=51851677 一.centos自带界面设置代理 1. 界面设置  squid默认代理端口3128. 2 ...

  3. 快速掌握和使用Flyway

    什么是Flyway? 转载:https://blog.waterstrong.me/flyway-in-practice/ Flyway is an open-source database migr ...

  4. Activity服务类-9 TaskService服务类

    一共72个接口 1.创建任务(2个方法)//创建与任何流程实例无关的新任务.Task newTask();//使用用户定义的任务id创建一个新任务.Task newTask(String taskId ...

  5. pod引用第三方库的几种方式

    pod引用库的原理,本质上是去找.podspec文件,podspec中包含库的地址及最新的版本号(tag标签),如果pod时没有指定版本,则pod install时会去下载podspec文件中指定的最 ...

  6. python文件处理指针的移动

    控制文件指针移动 with open('a.txt',mode='rt',encoding='utf-8')as f: res=f.read(4) print(res) 强调:只有t模式下read(n ...

  7. FlashDevelop关闭分号自动格式化

    菜单Tools-Program Settings-ASCompletion-Helpers-Characters Requiring Whitespace 清空",;*+-=/%<&g ...

  8. ref与out

    注意点: ref和out都是按地址传递,使用后都将改变原来参数的数值 方法定义和调用方法都必须显式使用 ref/out 关键字 ref: 作为ref参数传递的变量在方法调用中传递之前必须初始化 out ...

  9. linux内核中的const成员是否可以修改?

    本文的基础知识:由于前半部分内容是转的,且不知道原文出处,没法给出原文地址,大家自行百度 const的实现机制 const究竟是如何实现的呢?对于声明为const的内置类型,例如int,short,l ...

  10. LeetCode OJ 145. Binary Tree Postorder Traversal

    Given a binary tree, return the postorder traversal of its nodes' values. For example:Given binary t ...