一、概述

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. ProxySQL Cluster 概述

    文章转载自:https://blog.csdn.net/n88Lpo/article/details/79608639 前言 在ProxySQL 1.4.2 之前,ProxySQL 单点的解决方法有配 ...

  2. 使用nginx-ingress-controller配置https,但是再同时配置使用http

    默认情况下,如果为该 Ingress 启用了 TLS,控制器会使用 308 永久重定向响应将 HTTP 客户端重定向到 HTTPS 端口 443.( Ingress 里配置了 https 证书的话,默 ...

  3. 容器监控:cAdvisor

    CAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具.通过在主机上运行CAdvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示. 在本地运行 ...

  4. 密码学奇妙之旅、02 混合加密系统、AES、RSA标准、Golang代码

    CTR 计数器模式 计数器模式CTR是分组密码模式中的一种.通过将逐次累加的计数器进行加密来生成密钥流的流密码.每次加密时会生成一个不同的值来作为计数器的初始值. 可以事先进行加密.解密的准备. 加密 ...

  5. 生产管理ERP哪一款比较好?

    生产管理用的是MES,企业管理用的才是ERP,这个得弄清楚!如果要谈生产管理,每家工厂的区别.差异性更大,在工厂甲用得很好的管理系统搬到工厂乙,大概率水土不服,不是软件本身的问题,而是生产的产品.部件 ...

  6. P3261 [JLOI2015]城池攻占 (左偏树+标记下传)

    左偏树还是满足堆的性质,节点距离就是离最近的外节点(无左或者右儿子  或者二者都没有)的距离,左偏性质就是一个节点左儿子的距离不小于右儿子,由此得:节点距离等于右儿子的距离+1. 本题就是对于每个节点 ...

  7. flood_it 方法记录

    心路历程 根据题面的描述,我们面临的问题无非是,每次将色块更新成什么颜色.又因为是从左上角开始更新,所以我的有了第一个想法. 将左上角的色块命名为"原色块". 对于每个色块,定义4 ...

  8. zabbix企业监控

    第一节.系统初始化 1.前期环境 主机名 IP地址 操作系统 备注 zabbix-10 192.168.2.10 CentOS Linux release 7.4 zabbix服务端 agent-15 ...

  9. 现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法

    欢迎大家加入我的社区:http://t.csdn.cn/Q52km 社区中不定时发红包 文章目录 1.UML类图 2.源码: 3.优缺点分析 1.UML类图 2.源码: package com.bac ...

  10. rabbitmq原理和应用

    0.1.索引 https://blog.waterflow.link/articles/1663772504649 RabbitMQ 是一个轻量级且易于部署的消息队列.它支持开箱即用的多种消息传递协议 ...