HDFS

1.hdfs整体工作机制:

  1>hdfs:分布式文件系统。

  hdfs:分布式文件系统

  hdfs有着文件系统共同的特征:

  2>有目录结构,顶层目录是:  /

  3>系统中存放的就是文件

  4>系统可以提供对文件的:创建、删除、修改、查看、移动等功能

2.hdfs跟普通的单机文件系统有区别:

  1>单机文件系统中存放的文件,是在一台机器的操作系统中

  2>hdfs的文件系统会横跨N多的机器

  3>单机文件系统中存放的文件,是在一台机器的磁盘上

  4>hdfs文件系统中存放的文件,是落在n多机器的本地单机文件系统中(hdfs是一个基于linux本地文件系统之上的文件系统)

3.hdfs的工作机制:

  1>客户把一个文件存入hdfs,其实hdfs会把这个文件切块后,分散存储在N台linux机器系统中(负责存储文件块的角色:data node)<准确来说:切块的行为是由客户端决定的

  2>一旦文件被切块存储,那么,hdfs中就必须有一个机制,来记录用户的每一个文件的切块信息,及每一块的具体存储机器(负责记录块信息的角色是:name node)

  3>为了保证数据的安全性,hdfs可以将每一个文件块在集群中存放多个副本(到底存几个副本,是由当时存入该文件的客户端指定的)

  总结:一个hdfs系统,由一台运行了namenode的服务器,和N台运行了datanode的服务器组成!

4.hdfs客户端形式:

  1.网页形式

  2.命令行形式

  3.客户端在哪里运行,没有约束,只要运行客户端的机器能够跟hdfs集群联网

  4.hdfs的客户端会读以下两个参数,来决定切块大小、副本数量:切块大小的参数: dfs.blocksize(默认64M)副本数量的参数: dfs.replication(默认2)

5.hdfs命令行操作

  1.查看目录信息:hadoop -fs ls /hdfs目录

  2.上传文件到hdfs:hadoop -put /本地文件 /aaa  或者 hadoop fs -copyFromLocal /本地文件  /hdfs路径   ##  copyFromLocal等价于 put

  3.从本地移动到hdfs:hadoop -moveFromLocal /本地文件 /aaa

  4.下载文件到本地磁盘:

    hadoop fs -get /hdfs中的路径   /本地磁盘目录

    hadoop fs -copyToLocal /hdfs中的路径 /本地磁盘路径   ## 跟get等价

    hadoop fs -moveToLocal /hdfs路径  /本地路径  ## 从hdfs中移动到本地

  5.创建文件夹:hadoop fs -mkdir -p /aaa/xxx

  6.移动hdfs中的文件(更名): hadoop fs -mv /hdfs的路径  /hdfs的另一个路径

  7.删除hdfs中的文件或文件夹:hadoop fs -rm -r /aaa

  8.修改文件的权限:hadoop fs -chown user:group /aaa   hadoop fs -chmod 700 /aaa

  9.追加内容到已存在的文件:hadoop fs -appendToFile /本地文件   /hdfs中的文件

  10.显示文本文件的内容:hadoop fs -cat /hdfs中的文件  hadoop fs -tail /hdfs中的文件

6.hdfs核心工作机制

  1.NameNode元数据管理:

    1.什么是元数据:hdfs的目录结构以及每一个文件块信息(块的id,副本量,存放位置)

    2.元数据由谁管理:NameNode

    3.NameNode把数据记录在哪里:NameNode吧实时的元数据存储在内存当中;而且还会在磁盘中(dfs.namenode.name.dir)存储内存元数据在某个时间点上的镜像文件;同时把引起元数据变化的操作记录在edits日志上。

  2.checkpoint机制:

    1.secondarynamenode会定期从NameNode上下载fsimage镜像和新生的edits日志,然后加载fsimage到内存,然后按照顺序解析edits文件,对内存中的元数据进行修高整合,整合完成后,将内存元数据序列化成一个新的fsimage,并将这个fsimage上传给NameNode。

  3.secondary namenode启动位置(默认)

      <property>

         <name>dfs.namenode.secondary.http-address</name>

        <value>0.0.0.0:50090</value>

      </property>

  4.保存元数据目录位置:

      <property>

        <name>dfs.namenode.checkpoint.dir</name>

        <value>file://${hadoop.tmp.dir}/dfs/namesecondary</value>

      </property>

HDFS学习记录的更多相关文章

  1. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  2. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  3. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  4. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

  5. UWP学习记录11-设计和UI

    UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...

  6. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  7. UWP学习记录9-设计和UI之控件和模式6

    UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...

  8. UWP学习记录8-设计和UI之控件和模式5

    UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...

  9. UWP学习记录7-设计和UI之控件和模式4

    UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...

  10. UWP学习记录6-设计和UI之控件和模式3

    UWP学习记录6-设计和UI之控件和模式3 1.按钮 按钮,响应用户输入和引发 Click 事件的控件. 使用<Button>就能创建一个按钮控件了.按钮是 ContentControl, ...

随机推荐

  1. 为 windows 10 右键菜单加打开DOS窗口

    创建一个批处理文件,输入以下行,保存执行即可. echo off reg add "HKCR\*\shell\ms-dos" /ve /d 打开DOS命令 /f reg add & ...

  2. Linux中启动Docker容器报错:Error response from daemon: driver failed programming external connectivity

    在启动Docker的容器时,会出现报错:Error response from daemon: driver failed programming external connectivity on e ...

  3. django操作WEB涉及的几个命令

    1)创建项目bysms django-admin startproject bysms 2)创建应用sales (在bysms目录下执行) python manage.py startapp sale ...

  4. DFS略思维题做题记录

    洛谷:P4399 [JSOI2008]Blue Mary的职员分配 链接 代码: #include<iostream> using namespace std; int n,x,y,z,A ...

  5. 记录一次mybatis中parameterType中使用String和string的区别

    今天修改一个问题. xml中使用的是#{xxxx  jdbcType=String} 但是这个sql  查询需要用到  in 如果这样查询 会变成 in  ( "1,2,3,4,5" ...

  6. mybatis 数据搜索后参数显示乱码无法搜到

    今天写作业的时候遇到的小问题 问题说明:搜索订单名中含有"香皂"的订单,显示订单的一系列属性.在搜索后,调试框中显示的东西很奇怪,也没有查找到答案: 觉得是编码问题,所以调试了编码 ...

  7. Linux df -h 显示磁盘空间满,但实际未占用满——问题分析

    问题现象: 遇到一个问题,在系统上,告警提示磁盘空间不够,如下图所示: 问题分析: 1.首先使用 :du  -h  / --max-depth=1 命令查看各个目录的占用空间,试图找到占用较多空间的目 ...

  8. Jmeter:随机类函数

    一.__Random 功能介绍:计算范围内的随机数 ${__Random(参数 1,参数 2,参数 3)} 参数 1:开始数字,包括在内 参数 2:结束数字,包括在内 参数 3:注册变量名称  二._ ...

  9. K8S-PV和PVC

    目录: emptyDir存储卷 hostPath存储卷 nfs共享存储卷 PVC和PV 生命周期 一个PV从创建到销毁的流程 静态 回收策略 NFS使用PV和PVC 动态 总结     容器磁盘上的文 ...

  10. 国产DP4344兼容替代CSM4344 192K双通道输出数模转换芯片

    DP4344 是一款完整的 2 通道输出数模转换芯片, 内含插值滤波器.Multi-Bit 数模转换器.输出模 拟滤波器,并支持大部分的音频数据格式.DP4344 基于一个带线性模拟低通滤波器的四阶 ...