zoukankan      html  css  js  c++  java
  • hadoop之深入浅出

    分布式文件系统与HDFS

    lHDFS体系结构与基本概念***

    l数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。
    l是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。
    l通透性。让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般。
    l容错。即使系统中有某些节点脱机,整体来说系统仍然可以持续运作而不会有数据损失。
    l分布式文件管理系统很多,hdfs只是其中一种。适用于一次写入多次查询的情况,不支持并发写情况,小文件不合适。

    lHDFS的shell操作***

    l调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。
    l所有的FS shell命令使用URI路径作为参数。

     URI格式是scheme://authority/path。HDFS的scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。

     例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/child,或者更简单的/parent/child(假设配置文件是namenode:namenodePort)

    l大多数FS Shell命令的行为和对应的Unix Shell命令类似。

    .对hdfs的操作方式:hadoop fs xxx
      hadoop fs -ls  / 查看hdfs的根目录下的内容的
      hadoop fs -lsr / 递归查看hdfs的根目录下的内容的
      hadoop fs -mkdir /d1 在hdfs上创建文件夹d1
      hadoop fs -put <linux source> <hdfs destination> 把数据从linux上传到hdfs的特定路径中
      hadoop fs -get <hdfs source> <linux destination> 把数据从hdfs下载到linux的特定路径下
      hadoop fs -text <hdfs文件> 查看hdfs中的文件
      hadoop fs -rm  删除hdfs中文件
      hadoop fs -rmr 删除hdfs中的文件夹

    Namenode与Datanote

    namenote

    是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求。
    文件包括:
    ①fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。
    ②edits:操作日志文件。
    ③fstime:保存最近一次checkpoint的时间
    以上这些文件是保存在linux的文件系统中。
    就有高可靠行:
      对fsimage备份 
      secondarynamenote 对fsimage与edits的合并 ,并会留一份在文件中(如win还原点)
    edits 是否上传成功  保证上传完整
     
    datanote
    文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。HDFS默认Block大小是64MB,以一个256MB文件,共有256/64=4个Block.
    对Block的大小有严格的规定  不能过大或过小
    如果过大就会造成上传下载缓慢,上传过程中出现难以控制问题
    如果过小就会造成namenote管理文件增多 ,占用大量的空间
    不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间
    Replication。多复本。默认是三个。
    secondarydatanote
    l执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,同时重置NameNode的edits.
    l默认在安装在NameNode节点上,但这样...不安全!
    总结
    hdfs适合存储大数据文件,hdfs很好的格式化了传输的过程,很好的存储数据。便于管理要查询(如数据库)

    java接口及常用api***

  • 相关阅读:
    .NET正则基础之——平衡组
    网站架构探索负载均衡的方式
    Sql2005 全文索引详解
    构架师之路(4) 里氏代换原则(Liskov Substitution Principle, LSP)
    Ubuntu 9.04 server安装nginx+php(fastcgi)
    构架师之路(2) 开闭原则(OpenClosed Principle,OCP)
    SQL Server中常用全局变量介绍
    构架师之路(3) 1 IoC理论的背景
    linux ubuntu 命令集合
    理解nginx 和 php(fastcgi)的关系
  • 原文地址:https://www.cnblogs.com/lulu638/p/3823577.html
Copyright © 2011-2022 走看看