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

  • 相关阅读:
    windows启动应用程序
    nvm uninstall node versions failed
    FATAL ERROR: wasm code commit Allocation failed process out of memory
    C# 正则表达式大全 (转载)
    zabbix 6.0 使用zabbix agent 2自带模板监控 Redis 海口
    go出现错误:(type interface {}) to type string
    pythonsocketio实现websocket的连接与使用
    如何使用fiddler为手机设置代理
    Logstash—Filter模块csv
    QT事件鼠标事件、事件分发器
  • 原文地址:https://www.cnblogs.com/qiutianyou/p/13848838.html
Copyright © 2020-2023  润新知