HDFS入门简介

2023-05-16

HDFS是什么?

  1. 易于扩展的分布式文件系统
  2. 运行在大量普通廉价机器上提供容错机制
  3. 为大量用户提供性能不错的存取服务

设计目标:

  1. 自动快速检测应对硬件错误
  2. 流式访问数据,以流的方式访问数据,设计用于数据的批量处理
    缺点:不适合存储大量小文件;不适合低延迟的数据访问;不支持多用户写入及任意修改文件
  3. 移动计算不移动数据(大数据基本原则,空间换时间)
  4. 简单一致性模型
  5. 异构平台可移植性

安装配置

追加连接

hdfs://(协议头)host(主机名):port(端口号)/

查看${HADOOP_HOME}/bin${HADOOP_HOME}/sbin
在这里插入图片描述

#学会help(很多地方都可以查看帮助文档)
hdfs dfsadmin -help

HDFS的基本组件

  1. namenode:管理整个文件系统的元数据
    namenode工作职责:管理元数据、维护目录结构、响应客户端请求
  2. datanode:复制管理用户的文件数据块
    datanode的工作职责:管理用户提交的数据 心跳机制 块报告
  3. secondarynamenode:namenode的助理,帮助加载元数据,紧急情况下(例如namenode宕机),可以帮助恢复数据
    在这里插入图片描述

HDFS读写流程图解

一、 写数据流程
在这里插入图片描述
节点服务器传输数据方式:网络传输,以package包的形式(第8步,上传数据的时候会把package先放到缓存队列,如果此时package出错的话,会默认重传 4次)
这里的话,追加一下一些问题(分布式系统之间可能故障,而且网络的不可靠性都是设计人员需要考虑的问题):socket(长连接),http(短连接),还有其他的方式,比如管道、FIFO、消息队列(kafka。。。)
为什么使用长链接?
最简单分布式系统是一直存在的,很少是短时间的访问,维持心跳机制
什么是心跳机制?
namenode启动的时候,会有一个加载元数据(数据的数据,类似于表的索引)和块报告(datanode会定时(可以再配置文件中设置,所以一定要时间同步)对块信息进行统计)的过程,namenode通过心跳机制维护整个集群的可用性。如果块报告上传失败,namenode不会更新元数据,在块报告的时候就会将其删除掉。
安全模式
什么时候进入安全模式?
刚刚启动(namenode加载元数据的时候(先加载元数据镜像到内存中,在将edits日志的操作在内存中执行一遍,namenode进入安全模式,进行块报告,阈值安全的话30秒退出安全模式))
阈值低于0.999f(默认)
datanode存活数量小于0

怎么解除安全模式?
1. 格式化集群(需要删除namenode.dir的配置路径)
基本不会采用这种方式
2. 强制离开安全模式
hdfs dfsadmin -safemode leave
3 .
# 检测集群文件、节点、块是否出现问题
hdfs fsck /
#删除损坏块的block
hdfs fsck / -delete
4. 调低阈值(在配置文件 safemode)
二、 读数据流程
在这里插入图片描述
磁盘故障
多个副本策略
namenode故障宕机
简单方案:secondarynamenode取出fsimage文件copy到namenode的元数据存储目录下
完美解决:在namenode上挂多块磁盘,配置fs.namenode.name.dir(用,分割磁盘 )

CheckPoint

触发条件:

  1. 事务达到1000000条(默认)
  2. 1小时(默认)
<property>
  <name>dfs.namenode.checkpoint.dir</name>
  <value>/hadoop/data/name</value>
</property>
<!--日志文件edits的检测目录-->
<property>
  <name>dfs.namenode.checkpoint.edits.dir</name>
  <value>/hadoop/data/edits</value>
</property>
<!--时间一小时-->
<property>
  <name>dfs.namenode.checkpoint.period</name>
  <value>3600</value>
</property>
<!--事物达到1000000-->
<property>
  <name>dfs.namenode.checkpoint.txns</name>
  <value>1000000</value>
</property>

在这里插入图片描述
注:namenode存储元数据,secondarynamenode执行checkpoint的时候去namenode下载edits和fsimage
注意的问题
客户端和服务器端解释

  1. 客户端的配置文件决定副本数量,而不是服务器
  2. 文件存储以块的形式存储在服务器上(客户端决定文件切分,块大小)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HDFS入门简介 的相关文章

  • PS照片处理尺寸参考表

    参考表 一 讲多少寸 xff0c 是指长边的英寸数 xff0c 比如5 x 3 5就是5寸 讲多少R xff0c 指短边的英寸数 xff0c 比如4R是6 X 4寸 xff0c 而3R就是5寸的5 X 3 5寸 R 的意思的 rectang
  • 数据库习题及答案5

    模拟测验1 一 1 2 3 4 5 6 7 8 9 10 A D C c D A C A A C 一 选择题 xff08 在每个小题四个备选答案中选出一个正确答案 xff0c 填在题末的括号中 xff09 xff08 本大题共10小题 xf
  • Attention Model(mechanism) 的 套路

    最近刷了一些attention相关的paper 照着here的列表 43 自己搜的paper xff0c 网上相关的资料也有很多 xff0c 在此只讲一讲自己对于attention的理解 xff0c 力求做到简洁明了 一 attention
  • springMVC常用注解

    在java框架中 xff0c 使用注解的作用就是注入属性 一 Spring常用注解 64 Component xff1a 标注一个普通的Spring Bean类 64 Controller xff1a 标注一个控制器组件类 64 Servi
  • Ubuntu16.04运行.sh文件

    前言 xff1a 最近在学 Linux内核分析 xff0c 实验做的是哈工大的oslab Linux 0 11 xff0c 然后下载了相应的压缩包 解压之后发现需要运行setup sh文件 xff0c 原先以为是因为没有切换到root命令所
  • 服务器conda,pip命令用不了解决方法

    服务器创建用户后 xff0c 不知道为啥基本命令可以用 xff0c 但是conda xff0c pip等不能使用 xff0c 度娘后一行命令解决 xff0c 命令如下 source span class token operator spa
  • Base64资源

    Base64资源 在线转Base64工具 http www jsons cn img2base64 鲸鱼 maskImage src 61 39 data image png base64 iVBORw0KGgoAAAANSUhEUgAAA
  • Linux驱动开发

    本文为一个简单的字符设备驱动 xff0c 涉及驱动编写 测试程序编写 Makefile编写 驱动加载 卸载 xff0c 运行于Linux虚拟机 xff0c 不涉及底层配置 撰写本文的主要目的为记录一下驱动的开发流程 xff0c 参考了正点原
  • SpringBoot MVC配置

    SpringBoot MVC配置 在使用 SpringBoot 进行实际的项目开发前 xff0c 最后再了解一下 SpringBoot 中对于 MVC 的配置 xff01 仍对应 SpringBoot 03 Web 项目 1 MVC配置简介
  • Python常用的运算符

    1 算术运算符 xff1a 43 xff1a 加法 xff1a 减法 xff1a 乘法 xff1a 除法 xff1a 求两个数的余数 例如 xff1a 10 3 输出为1 xff1a 整除 例如 xff1a 10 3 输出为3 xff1a
  • npm报错 TypeError [ERR_INVALID_ARG_TYPE]: The “path“ argument must be of type string.Received undefine

    npm报错 TypeError ERR INVALID ARG TYPE The path argument must be of type string Received undefined 解决办法 xff1a 1 修改static文件
  • 持之以恒(一)位姿转换:姿态 / 四元数 / 旋转矩阵 / 欧拉角 及 位姿矩阵

    文章目录 1 简介1 1 位姿的几种表示形式1 2 姿态转换在线工具 2 位姿转换接口2 1 旋转向量 转 四元数2 2 四元数 转 旋转向量2 3 四元数 与 旋转矩阵 3 机器人相关应用3 1 不同厂家协作机器人的位姿表示形式 1 简介
  • 在pgsql中利用regexp_matches提取出正则并且用, 分隔开。

    在pgsql中利用regexp matches提取出正则并且用 xff0c 分隔开 span class token keyword SELECT span string agg span class token punctuation s
  • 推荐系统经典论文文献及业界应用

    Survey方面的文章及资料 Adomavicius G Tuzhilin A Toward the next generation of recommender systems A survey of the state of the a
  • TIOBE 编程语言排行,各个语言优缺点,以及你适合那种编程语言

    TIOBE 编程语言排行前10中 xff0c 各个编程语言的优缺点如下 xff1a Python 优点 xff1a 易学易用 xff0c 具有大量的第三方库和工具支持 xff0c 适用于数据分析 人工智能等领域 缺点 xff1a 运行速度相
  • ssh整合

    ssh整合 思路pom依赖几大框架的配置文件配置struts xml测试 思路 SSH是 struts 43 spring 43 hibernate的一个集成框架 1 导入所需要的pom依赖 2 几大框架的配置文件 xff08 web xm
  • JavaFX程序入门

    JavaFX程序入门 一 JavaFX基本概念 JavaFX的图形用户界面 xff08 GUI xff09 通常称为场景图 xff0c 场景图是构建JavaFX应用程序的起点 场景图除了包括布局面板 UI控件 图像 媒体 图表等 xff0c
  • 二叉树4:二叉树求树高度(超级详细)

    一 思路 什么是树高 xff1f 树的高度 或深度 就是树中结点的最大层数 在这里使用后序遍历的递归算法 对每一个结点都进行如下操作 xff1a 后序遍历其左子树求树高后序遍历其右子树求树高对这个结点进行下面操作 xff1a 比较其左右子树
  • lottie.js动画的使用(JSON动画)

    在public文件中引入lottie js data json 对应图片 1 引入lottie lt script src 61 34 lottie js 34 gt lt script gt 2 页面引入代码 lt div id 61 3
  • spring(idea版)

    spring 文章目录 xff1a 1 spring简介2 IOC推导原型及本质3 第一个spring程序4 IOC创建对象的方式5 spring配置说明6 Dl依赖注入环境 依赖注入的方式 7 bean的作用域8 自动装配bean9 用注

随机推荐

  • 扩展卡尔曼滤波算法 EKF

    扩展卡尔曼滤波的仿真案例 xff0c 参考书为北航宇航学院王可东老师的Kalman滤波基础及Matlab仿真 一 状态模型 xff1a 二 测量模型 xff1a 状态方程和测量方程中的噪声均为期望为零的白噪声 三 状态模型和测量模型的线性化
  • 什么是end to end

    人工智能领域中 xff0c 什么是end to end xff1f end to end并不是一种技术 xff0c 而是一类思想方法 xff0c 一种特点 所谓end to end xff0c 即端到端 xff0c 指的是从原始数据获取 x
  • 护士实习自我鉴定

    医院实习护士的评价 篇一 短短一个月的泌尿外科实习生活已接近尾声 xff0c 回顾这段时间的实习生活 xff0c 我感受很深 泌尿外科是我实习的第二站 xff0c 相对肝胆外科就不是那么的忙碌 在泌尿外科经历的业务学习是让我印象最深刻的 x
  • MongoDB常用操作命令理解与实战

    文章目录 一 创建操作命令1 数据库操作2 创建集合和添加文档 二 查询操作命令和常用函数1 N A2 查看集合3 文档简单查询4 文档条件查询5 Mongo查询条件和SQL查询对照表6 复合主键7 逻辑操作符匹配 not用法 and 用法
  • 连接数据库时出现10061错误

    问题 xff1a 用Navicat连接数据库时出现10061错误 通过百度证明原因是连接不上MySQL服务器 解决方案 xff1a 打开 我的电脑 点击 管理 点击 计算机管理 服务和应用程序 找到 服务 找到 Mysql xff0c 然后
  • TF-IDF

    1 TF IDF是什么 xff1f TF IDF xff1a term frequency inverse document frequency 1 tf idf 作为一种权重经常被用作信息检索和文本挖掘领域 2 这样一种权重时通过统计计算
  • 搭建STP生成树协议访问服务器

    拓扑图 xff1a 理解 1 确定交换机的角色 xff1a 根交换机 非根交换机 xff0c 比较原则优选级 xff0c 越小越好 xff1b 其次比较MAC地址 xff0c 越小越好 xff1b 2 确定端口的角色 xff1a 根端口 指
  • Hexo博客绑定自己的域名

    1 购买域名 国内的域名服务商有新网 xff0c 腾讯云 xff0c 还有阿里云的万网等 我用的是阿里云 在万网购买了的域名后 xff0c 进入阿里云的管理控制台 域名与网站 域名就可以看到购买的域名此时的域名状态是未实名认证的 xff0c
  • MATLAB学习之图片放大缩小(双线性插值法)

    MATLAB学习之图片放大缩小 这是数字图像处理实验内容 xff0c 老师规定用双线性插值法进行放大缩小 xff0c 不过双线性插值法也太难了吧 xff01 xff01 xff01 代码如下 xff1a span class token o
  • Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?报错

    在linux上使用apt get方式安装nginx时提示Unable to fetch some archives maybe run apt get update or try with fix missing 最后发现是源出现了问题 v
  • chrony

    CentOS8 时间同步服务 CentOS7之前的版本用的是ntpdate服务 xff0c 之后用的是chrony服务 默认是安装的了 查看版本 root 64 centos8 rpm qi chrony Name chrony Versi
  • 网易云音乐(netease-cloud-music)无法通过图标打开,只能用命令行开启

    解决办法 xff08 两种任选其一 xff09 xff1a 1 打开文件桌面图标文件netease cloud music desktop xff1a sudo gedit usr share applications netease cl
  • java: 程序包org.apache.ibatis.annotations不存在

    这个错误是我在直接导入springboot项目的时候报错的 xff0c 解决方法是新建一个spring项目 xff0c 之后将相关文件导入该项目中解决的 导入项目出现错误时可以考虑这样处理一下试试
  • angularJS中把html格式的字符串转成html格式显示,ng-bind-html与trustAsHtml的过滤器

    分享一下我老师大神的人工智能教程 xff01 零基础 xff0c 通俗易懂 xff01 http blog csdn net jiangjunshow 也欢迎大家转载本篇文章 分享知识 xff0c 造福人民 xff0c 实现我们中华民族伟大
  • 【设计模式】生产者消费者模型

    带你轻松理解生产者消费者模型 xff01 生产者消费者模型可以说是同步与互斥最典型的应用场景了 xff01 文末附有模型简单实现的代码 xff0c 若有疑问可私信一起讨论 文章目录 一 xff1a 为什么要使用生产者消费者模型 xff1f
  • matlab的for循环

    a span class token operator 61 span span class token function rand span span class token punctuation span span class tok
  • 论文笔记之 Collaborative Deep Learning for Recommender Systems

    这篇论文是KDD2015的一篇用DL去做RS的论文 想法挺有意思的 看过论文的同学都知道整体的模型可以用下图表示 xff1a 这里只讲讲整体的思路与理解 xff1a 1 xff09 这是一个CF和CBF结合用bayes去做 2 xff09
  • QGC地面站参数调节

    校准 xff1a 1 选择机架 xff1a 一般用DJI Flame Wheel F450机架 xff0c 选择之后点击 应用并重启 xff1b 2 传感器校准 xff1a 无人机会重新连接地面站 xff0c 依次校准 磁罗盘 陀螺仪 xf
  • 【Java】线程超时(设置一段代码执行超时时间)

    引用原文 xff1a https blog csdn net educast article details 51864912 代码 public class ThreadTest public static void main Strin
  • HDFS入门简介

    HDFS是什么 xff1f 易于扩展的分布式文件系统运行在大量普通廉价机器上提供容错机制为大量用户提供性能不错的存取服务 设计目标 xff1a 自动快速检测应对硬件错误流式访问数据 以流的方式访问数据 xff0c 设计用于数据的批量处理 缺