你好,游客 登录 注册 搜索
背景:
阅读新闻

Hadoop之HDFS介绍

[日期:2016-01-20] 来源:极客头条  作者: [字体: ]

  之前在 http://blog.csdn.net/t_ells/article/details/49301227 文章中提到过Hadoop的核心由 HDFS , MapReduce 以及 yarn 组成

  Hadoop是一个由 Apache基金会 所开发的 分布式系统基础架构, 该项目的创建者Doug Cutting。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储

  Hadoop实现了一个分布式文件系统( Hadoop Distributed File System ),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

  Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

  以64M为单位进行拆分 HDFS分区分为64M便于查找,优于硬盘(32M),多台服务器组合而成存储数据(存放方式打散 )如果不打散,在map中就不能平均分配 每个数据都可被随机复制为3份

  NameNode:存放目录索引

  DataNode:存放文件内容

  备份:

  1.统一节点

  2.统一机架

  3.统一的数据中心(不同机架的某一个节点)

  4.不同的数据中心

  每一个datanode都会记录下一个datanode的位置

  NameNode会存放几个目录路径,客户端会通过 FSDataInputStream读取数据 分为多个block,

  NameNode会存放下一个block路径

  sname 定期的备份

  name 存放目录

  data 存放数据(可以有多个data)

  回顾一下计算机存储单位

  计算机存储单位一般用B,KB、MB、GB、TB,PB、EB、ZB、YB、BB来表示,它们之间的关系是:

  位bit (比特)(Binary Digits):存放一位二进制数,即 0或 1,最小的存储单位。

  字节 byte:8个二进制位为一个字节(B),最常用的单位。

  1KB(Kilobyte 千字节) = 2^10 B = 1024 B;

  1MB(Megabyte兆字节) = 2^10 KB = 1024 KB = 2^20 B;

  1GB(Gigabyte吉字节) = 2^10 MB = 1024 MB = 2^30 B;

  1TB(Trillionbyte太字节) = 2^10 GB = 1024 GB = 2^40 B;

  1PB(Petabyte拍字节) = 2^10 TB = 1024 TB = 2^50 B;

  1EB(Exabyte 艾字节) = 2^10 PB = 1024 PB = 2^60 B;

  1ZB(Zettabyte泽字节) = 2^10 EB = 1024 EB = 2^70 B;

  1YB(YottaByte尧字节) = 2^10 ZB = 1024 ZB = 2^80 B;

  1BB(Brontobyte ) = 2^10 YB = 1024 YB = 2^90 B;

  1NB(NonaByte ) = 2^10 BB = 1024 BB = 2^100 B;

  1DB(DoggaByte) = 2^10 NB = 1024 NB = 2^110 B;

  1KB (Kilobyte 千字节)=1024B,

  1MB (Megabyte 兆字节 简称“兆”)=1024KB,

  1GB (Gigabyte吉字节 又称“千兆”)=1024MB,

  1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2的10次方),

  1PB(Petabyte 千万亿字节 拍字节)=1024TB,

  1EB(Exabyte百亿亿字节 艾字节)=1024PB,

  1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,

  1YB (Jottabyte 一亿亿亿字节 尧字节)= 1024 ZB,

  1BB (Brontobyte 一千亿亿亿字节)= 1024 YB.注:“兆”为百万级数量单位。

  HDFS命令

  ls 命令

  hadoop fs -ls /

  hadoop fs -ls hdfs://localhost:9000/(hdfs:分布式文件系统)

  递归查看

  hadoop fs -ls -R /user

  mkdir 命令

  hadoop fs -mkdir /data

  rm 命令

  删除文件

  hadoop fs -rm /data

  删除目录及子文件

  hadoop fs -rm -r /data

  put 命令

  hadoop fs -put ./d01 /data/data2

  get 命令

  hadoop fs -get /data/data2/d01 ./

  cat 命令

  hadoop fs -cat /data/data2/d01

  text 命令

  允许查看压缩文件和序列化文件

  hadoop fs -text /data/data2/d01

  mv 命令

  hadoop fs -mkdir /data1

  hadoop fs -mv /data/data2/d01 /data1

  getmerge 命令

  hadoop fs -put ./d01 /data/data2

  hadoop fs -put ./d02 /data/data2

  将data2目录下的文件合并后复制到wf文件中

  hadoop fs -getmerge /data/data2 ./wf

  touchz 命令

  hadoop fs -touchz /data/data2/d03

  tail 命令(默认为最后的1000个字节)

  hadoop fs -tail /data/data2/d02

  distcp 命令

  集群间拷贝文件

  hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款