一、概述

1、背景、定义、使用场景(一次写入、不支持修改)

2、优(容错)缺点(延迟、不支持小文件、不支持修改)

3、组成架构

NameNode:Master,管理命名空间、配置策略

DataNode:slave,执行数据读写操作

Client:使用命令访问和交互

SecondNameNode:辅助分担namenode的工作量、恢复namenode

4、HDFS文件块大小

分块存储,默认128M(寻址时间为传输时间的1%),块大小取决于磁盘传输速率

二、HDFS的shell操作

1、基本语法:bin/hadoop fs 或 bin/hadoop dfs

2、常见操作:

启动集群(sbin/start-dfs  /  yarn.sh)

上传文件:hadoop fs  -moveFromLocal  ./kongming.txt  /sanguo/shuguo【剪切、复制】

追加到文件:hadoop fs -appendToFile liubei.txt /sanguo/shuguo/kongming.txt

下载:合并下载hadoop fs -getmerge /user/atguigu/test/* ./zaiyiqi.txt

3、hdfs直接操作

hadoop fs -mkdir

-chgrp 、-chmod、-chown、-tail显示末尾、-du统计信息、-setrep设置副本数量

三、HDFS客户端操作

1、客户端创建目录:fs.mkdirs(new Path("/1108/daxian/banzhang"));

2、API操作

文件上传:设置路径参数的优先级

文件下载:fs.copyToLocalFile

文件夹删除:fs.delete

文件名更改:fs.rename

获取文件详情:fs.listFiles

判断文件/文件夹:fs.listStatus

四、HDFS的数据流

1、写数据

向NameNode请求上传

通过packet逐级应答客户端

依次上传每个block的数据

节点距离:两个节点到达最近的共同祖先的距离总和。

2、读数据

向NameNode请求下载

查询元数据,获得对应的DataNode

packet方式传输数据给客户端

五、NameNode和Second NameNode

1、1 NN和2NN的工作机制

Fsimage和Edits文件存储namenode的元数据

NameNode节点断电,就会产生数据丢失

添加元数据时,修改内存中的元数据并追加到Edits【只追加,效率高】

二者合并,合成元数据【使用2NN完成二者合并】

2、oiv和oev命令可以查看Fsimage和Edits文件

3、2NN的CheckPoint时间设置

配置:默认1小时

或一分钟检查一次,操作次数达到一万次时执行一次

4、NameNode故障处理

2NN数据拷贝(手动)

使用-importCheckpoint选项启动NameNode守护进程,自动实现2NN的数据拷贝

5、安全模式

开启后只读,不能进行写操作

使用命令执行:查看、进入、离开、等待

六、DataNode

1、工作机制

周期性上报块信息到NN,

3秒一次心跳,10分钟未收到NN心跳表示节点不可用

2、数据完整性

周期验证CheckSum【数据一起发送的校验位】

3、掉线时限参数设置

hdfs-site.xml 配置文件中的heartbeat.recheck.interval、dfs.heartbeat.interval

4、服役新数据节点

克隆新主机,直接启动DataNode,即可关联集群

同时可以执行./start-balancer.sh实现数据均衡

5、退役旧数据节点

添加白名单的主机允许访问:vi dfs.hosts

需要配置hdfs-site.xml中的dfs.host属性

配置文件分发,刷新NN和ResourceManager节点

黑名单退役:

退役节点添加到:dfs.hosts.exclude中

配置文件分发:xsync hdfs-site.xml

刷新NN:hdfs dfsadmin -refreshNodes

yarn rmadmin -refreshNodes更新ResourceManager节点

6、Datanode多目录配置

每个目录存储的数据不一样

hdfs dfsadmin -refreshNodes

【Hadoop学习】中:HDFS、shell操作、客户端API操作、数据流、1NN、2NN原理、DataNode配置的更多相关文章

  1. HDFS shell命令行常见操作

    hadoop学习及实践笔记—— HDFS shell命令行常见操作 附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop ...

  2. 【Hadoop学习】HDFS中的集中化缓存管理

    Hadoop版本:2.6.0 本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接: http://www.cnblogs.com/zhangningbo/p/4146398.html 概述 ...

  3. hadoop2.5.2学习及实践笔记(五)—— HDFS shell命令行常见操作

    附:HDFS shell guide文档地址 http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/FileSy ...

  4. hadoop学习(五)----HDFS的java操作

    前面我们基本学习了HDFS的原理,hadoop环境的搭建,下面开始正式的实践,语言以java为主.这一节来看一下HDFS的java操作. 1 环境准备 上一篇说了windows下搭建hadoop环境, ...

  5. hadoop笔记之hdfs shell操作

    HDFS命令行操作 HDFS命令行操作 (以下是hadoop 1.x 版本的命令使用) 装好hadoop之前首先要进行一个格式化 hadoop namenode -format 运行之后,可以将文件夹 ...

  6. HDFS基础和java api操作

    1. 概括 适合一次写入多次查询情况,不支持并发写情况 通过hadoop shell 上传的文件存放在DataNode的block中,通过linux shell只能看见block,看不见文件(HDFS ...

  7. Hadoop学习笔记—HDFS

    目录 搭建安装 三个核心组件 安装 配置环境变量 配置各上述三组件守护进程的相关属性 启停 监控和性能 Hadoop Rack Awareness yarn的NodeManagers监控 命令 hdf ...

  8. HDFS 05 - HDFS 常用的 Java API 操作

    目录 0 - 配置 Hadoop 环境(Windows系统) 1 - 导入 Maven 依赖 2 - 常用类介绍 3 - 常见 API 操作 3.1 获取文件系统(重要) 3.2 创建目录.写入文件 ...

  9. 【Hadoop学习】HDFS 短路本地读

    Hadoop版本:2.6.0 本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接: http://www.cnblogs.com/zhangningbo/p/4146296.html 背景 ...

  10. Hadoop学习笔记---HDFS

    Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐 ...

随机推荐

  1. Kubernetes实践技巧:升级为集群

    高可用 前面我们课程中的集群是单 master 的集群,对于生产环境风险太大了,非常有必要做一个高可用的集群,这里的高可用主要是针对控制面板来说的,比如 kube-apiserver.etcd.kub ...

  2. fastapi快速入门

    fastapi是高性能的web框架.他的主要特点是: 快速编码 减少人为bug 直观 简易 具有交互式文档 基于API的开放标准(并与之完全兼容):OpenAPI(以前称为Swagger)和JSON ...

  3. 关于Azure-AzCopy在Linux环境下的安装

    关于Azure云中有一个AzCopy工具,它 是一个命令行实用工具,支持各种操作系统 AzCopy可以用于向存储帐户复制上传文件,也可以从存储账号下载文件到本地 这里笔者主要记录一下在Linux-x8 ...

  4. 洛谷P2168 [NOI2015] 荷马史诗 (哈夫曼树)

    学了哈夫曼树这道题还是好想的,基本上和构造哈夫曼树的思路一样,但是题目要求最长si的最小值,所以用两个关键字的堆,第一关键字是把出现次数作为权值,第二关键字表示从该节点开始的最长长度,权值相同时,选择 ...

  5. Nebula Graph介绍和SpringBoot环境连接和查询

    Nebula Graph介绍和SpringBoot环境连接和查询 转载请注明来源 https://www.cnblogs.com/milton/p/16784098.html 说明 当前Nebula ...

  6. 2021年9月28日,老是遇到一些非常奇葩的问题。就离谱、好好的一个web项目就莫名奇妙坏了。

    起因是这样的:我前几天用idea2020编辑器,用ssm框架搭建了一个图书管理系统.只是将图书信息的增删改查实现,还有用户的注册和登录功能实现.本来想着今天将用户信息的删除和修改完善以下,本来是很简单 ...

  7. resutful的使用和增强版的swagger2

    1.REST的特征 统一接口:客户和服务器之间通信的方法必须统一,RESUTFUL风格的数据元操作CRUD分别对应HTTP方法----GET用来获取数据源,POST用来新建资源,PUT用来更新资源,, ...

  8. 齐博x1标签实例:标签的嵌套用法,调用聚合数据

    齐博标签非常强大,可以让不懂程序的你,轻松就能实现所见即所得. 下面跟大家讲解一下,最复杂的运用, 同时使用了union 动态变量参数 与 分页处理标签 比如下面这张图,不仅仅想调用圈子,还想同时调用 ...

  9. sentinel的四种流控规则介绍

    sentinel的四种流控规则介绍 今天的内容我们主要围绕四个点进行展开介绍. 流控模式 :关联.链路 流控效果 :Warm Up.排队等待 这四点具体是什么意思呢? 首先启动项目:cloud-ali ...

  10. Trino Worker 规避 OOM 思路

    背景 Trino 集群如果不做任何配置优化,按照默认配置上线,Master 和 Worker 节点都很容易发生 OOM.本文从 Trino 内存设计出发, 分析 Trino 内存管理机制,到限制与优化 ...