hdfs基本思想

1.hdfs的优缺点

  (1)不适合大量小文件存储;

  (2)不适合并发写入,不支持文件随机修改;(只能append追加)

  (3)不支持随机读等低延时的访问方式

2.基本思想 

 

 

 

 

主从结构
  主节点, namenode
  从节点,有很多个: datanode
namenode负责:
  接收用户操作请求
  维护文件系统的目录结构
  管理文件与block之间关系,block与datanode之间关系
datanode负责:
  存储文件
  文件被分成block存储在磁盘上
  为保证数据安全,文件会有多个副本

 

 

总结:

  我们启动hdfs的时候只需要知道hadoop的etc目录下core-site.xml的hadoop的存储目录,

        <!-- 指定hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/hadoop/hadoop-2.4.1/data/</value>
       </property>

 

 

  当我们存储文件的时候会hadoop会在这个目录下建好多目录存储我们的文件,我们只需要指定相对于hdfs开始的根目录,hdfs相当于给我们提供了好多虚拟目录。hadoop会自动实现分布式存储,分别存在多个datanode节点,并通过namnode建立文件存储位置的表识。

 

 

第二种理解:

hdfs写流程:

通过客户端Client写入数据Data的流程:

(1)Client向NameNode发起写入请求;

(2)NameNode查找自身存储的关于三个DataNode的信息,并反馈给Client;

(3)Client根据反馈信息,将Data分为两个数据块1和2;

(4)Client根据反馈信息将数据块1传给DataNode1,进行保存(datanode自动完成副本备份);

(5)DataNode向NameNode汇报存储完成,NameNode通知客户端。

 

hdfs读流程:

通过客户端Client读取数据Data的流程,DataNode3存放数据块1与2的备份:

(1)Client向NameNode发起读取请求;

(2)NameNode查找自身存储的关于Data的存储信息,并反馈给Client存储Data各个节点的位置;

(3)Client根据反馈信息,从DataNode1读取数据块1,从DataNode2读取数据块2;

 

 

 

思考:

  基于hdfs我们可以实现类似于百度网盘的功能,将数据分布式存储,当用户申请账号的时候我们可以在hdfs的根目录给该用户创建一个目录。对于限制文件上传大小,我们可以在数据库记录该用户上传的文件大小并进行限制。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值