zoukankan      html  css  js  c++  java
  • HDFS学习记录

    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>

  • 相关阅读:
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xef in position 99: invalid continuation byte
    Java的内存机制
    sort
    ajax()函数传值中文乱码解决方法介绍
    三种实现Ajax的方式
    找到div下的第一个ul
    POI 单元格
    js对字符串进行编码方法总结
    相对路径和绝对路径的区别,java获取项目访问路径的方法
    sql存储过程几个简单例子
  • 原文地址:https://www.cnblogs.com/yangyanga/p/11762429.html
Copyright © 2011-2022 走看看