hdfs学习总结

hdfs:Hadoop Distributed File System (Hadoop 分布式文件系统)

1.特点:

  • 一次写入多次读出,并且不支持修改。适合做数据分析,不适合做网盘。

2.优点

  • 高容错性
    • 数据自动保存多个副本,默认三个。某一个丢失,还有备份
    • 数据备份丢失,自动给恢复至默认副本数量
  • 适合做大数据处理
    • 数据规模大,GB TB PB
    • 文件规模大,能够处理百万规模上的文件
  • 能在低配置服务器上配置 ,通过多副本机制,提高可靠性

3. 缺点 :

  • 不适合低延时的数据访问,比如毫秒级的存储数据
  • 无法高效率的对小文件进行存储
    • NameNode会记录每个文件的元信息,同一文件分开存和整合之后存,后者元信息更少,所占用的资源也就更少;
    • hdfs的设计原理是接近磁盘读取速度,之所以把block块设置很大,是因为想做到寻道时间远小于文件读取数据块的时间,接近磁盘读取速度。如果小文件太多,会造成寻道时间太长,违背设计原理;
    • 应该将小文件合并后存入hdfs
  • 不支持并发写入,文件的随机修改;
    • 一个文件只能有一个写,不能多服务器同时写;
    • 仅支持文件的append(追加),不支持随机修改。

4.hdfs组成框架

  1. NameNode(nn):是master
  • 管理hdfs的名称空间;
  • 管理副本策略
  • 管理数据块(Block)映射信息
  • 处理客户端请求
  1. DataNode:是slave。NameNode下达命令。DataNode执行操作。
  • 存储实际的数据块;
  • 执行数据块的读写操作。
  1. client 客户端
  • 文件切分。文件上传时,将文件切分成一个个block(128M),然后上传;
  • 与NameNode交互,获取文件的位置信息;
  • 与DataNode交互,读取或者写入数据;
  • client提供一些命令来管理HDFS:如NameNode格式化;
  • client可以通过一些命令来访问HDFS,比如查询
  1. Secondary NameNode:并非NameNode的热备,当NameNode挂掉时,它并不能马上替换NameNode并提供服务。
  • 辅助NameNode,分担其工作量,
  1. hdfs块的大小
  • 目前硬盘的寻址时间在10ms左右,读写速率在100m/s。在hdfs设计理念下,寻址时间应为传输时间的1%;所以传输时间大概在1s左右;1s*100m/s=100m。也就是一次写入的最大值应该为100m;所以选择128m大小作为hdfs块的大小;
  • hdfs的块大小设置太小: 会增加寻找时间,违背hdfs设计理念。
  • hdfs的块设置太大,会大大增加数据的传输时间。
  1. 在hdfs上面利用 -mkdir 创建文件夹时,不能使用中文字符;
  1. hadoop fs -moveFromLocal
  • 不能剪切到hdfs上面没有的文件夹,也就是说这个命令不会自动创建文件夹
  1. hadoop fs -appendToFile
  • Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to try.
  • 2014-05-04 10:43:55,009 INFOorg.apache.hadoop.ipc.Client: Retrying connect to server:hadoop1/192.168.10.22:9000. Already tried 0 time(s); retry policy isRetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
  • 原因是,三个节点虽然都可以查到DataNode进程,但是在网页查到只有一个DataNode进程。在别的节点查看,不能与Name Node进行传输。原因是修改了 /etc/hosts的文件。
  1. -copyFromLocal
  • 不能剪切到hdfs上面没有的文件夹,也就是说这个命令不会自动创建文件夹

10.-setrep 设置副本数量

  • 当设置的数量大于DataNode时,不会在某一节点备份多份;只会是,在添加节点之后,将副本复制到新添加的节点上,直到达到设置的数量。
  1. 回收站功能
  • fs.trash.interval=0 文件在回收站的存活时间设置
    • 0 默认取消回收站功能
    • 其他数字表示文件在回收站的存活时间。
  • fs.trash.checkpoint.interval=0, 检查回收站的文件
    • 0表示该值和fs.trash.interval的值相同
    • 该值应该《=fs.trash.interval的值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先,我们在使用前先看看HDFS是什麽?这将有助于我们是以后的运维使用和故障排除思路的获得。 HDFS采用mast...
    W_Bousquet阅读 9,734评论 0 2
  • 原文 介绍 Hadoop分布式文件系统( HDFS )是一种分布式文件系统,设计用于在商品硬件上运行。它与现有...
    公子小水阅读 4,839评论 0 0
  • 翻译: http://hadoop.apache.org/docs/stable/hadoop-project-d...
    金刚_30bf阅读 4,198评论 0 2
  • 今天跟一个朋友交流,他在网上报了一个学习班,回到家后很兴奋的跟父母讲,父母一口咬定是骗子、是传销,坚决要求退款。 ...
    冢虎欢喜哥阅读 4,813评论 8 39
  • 戈叔: 长跑是“为了获得空白”的运动,村上君的这个说法真的很贴切呢。 昨天信里,你说有一次长跑跑得特别开心,感觉自...
    于阿心阅读 3,003评论 0 4