zoukankan      html  css  js  c++  java
  • Cloudera Hadoop(一) —— HDFS简介

    分布式文件系统HDFS
    HDFS是Hadoop的核心组件之一,是一个高容错性和高吞吐量的海量数据存储解决方案。
    HDFS以流式数据访问模型来存储超大文件,运行在廉价普通的机器组成的集群上,是管理网络中跨多台计算机存储的文件系统。
    它的基本原理是将文件切分成同等大小的数据块存储到多台机器上,将数据切分、容错、负载均衡等功能透明化。

    为什么要切分成数据块来存储?
    1. 大文件用一个节点存不下来
    2. 网络传输时万一宕掉,可以小部分重传
    3. 简化了存储管理,同时元数据就不需要和块一同存储了,用一个单独的系统就可以管理这些块的元数据

    block(块)是HDFS中最基本的存储单位。Hadoop 2.x 的HDFS默认block大小为128M(1.x是64M)。默认block大小可以修改
    dfs.block.size

    这是为了容错性,每个块文件都有副本,当一台数据节点挂了,就可以去其他机器找文件的副本。默认是三个副本,可以通过hdfs-site.xml中的replication属性修改副本数量。

    副本存放策略:
    第一个副本存放在本地节点,第二个副本存放到本地机架上的另外一个节点,第三个副本存放到不同的机架上的节点。
    这种方式减少了机架之间的写流量,从而提高写的性能;机架的故障概率低于节点故障,将第三个副本放置不同机架上,这也放置了机架故障时数据丢失。

    HDFS在设计之初就是针对超大文件存储,小文件不会提高访问和存储速度反而会降低。其次它采用流式数据访问,特点是一次写入多次读取。

  • 相关阅读:
    LVS的持久连接、会话保持和高可用介绍
    lvs整理
    ubuntu 12.04 下LVS的一些搭建心得和资料整理
    Ubuntu下配置LVS【h】
    关于vector push_back()与其他方式读取数据的效率对比(转)
    强大的vim配置文件,让编程更随意(转)
    E492: Not an editor command: ^M
    Building Vim from source(转)
    误删 libc.so.6的解决方法(转)
    CentOS安装glibc-2.14(转)
  • 原文地址:https://www.cnblogs.com/qiutianyou/p/13848838.html
Copyright © 2011-2022 走看看