hdfs为什么不能修改数据

本文详细介绍了HDFS的特性,包括其不支持文件直接修改但支持追加操作,以及NameNode的内存压力问题。同时,对比了HDFS与MapReduce的架构,指出MapReduce适合批量离线计算。此外,还分析了HDFS与FastDFS的区别,FastDFS在小文件存取上更高效,适合不同应用场景。
摘要由CSDN通过智能技术生成

HDFS上的文件不支持直接修改,是因为HDFS只支持一次写入,如果想要修改HDFS上的文件则需要将HDFS的文件下载到本地(hdfs dfs -get hdfs路径 本地路径),从本地进行修改,然后再上传到HDFS上(hdfs dfs -put 本地路径 hdfs路径)

但是HDFS支持通过appendToFile追加:hdfs dfs -appendToFile 追加内容的文件 HDFS中要被追加的文件

HDFS和MapReduce对比

HDFS

1,hdfs 和 mapreduce都是主从关系,分布式架构。

2,hdfs有一个主节点NameNode和多个从节点DataNode。

3,NameNode含有存储文件信息的元数据信息。在运行过程中把数据加载到内存。

4,当NameNode里的全部元数据无法加载到内存时,集群就要扩展。

5,小文件(1M,2M)的存储,造成NameNode的存储所占内存压力增大。

6,hdfs两个NameNode共存,组成类似主备架构,实现HA(需要Zookeeper集群)。

MapReduce

7,mapreduce有一个主节点JobTracker和多个从节点TaskTracker。

8,JobTracker管理用户提交的任务和分配资源。

9,mapreduce支持批量数据的离线计算,实时性不如storm,spark

fastdfs 和hdfs的区别

主要是定位和应用场合不一样。
hadoop的文件系统HDFS主要解决并行计算中分布式存储数据的问题。其单个数据文件通常很大,采用了分块(切分)存储的方式;
FastDFS主要用于大中网站,为文件上传和下载提供在线服务。所以在负载均衡、动态扩容等方面都支持得比较好,FastDFS不会对文件进行分快(切分)存储。

1、 FastDFS客户端底层连接服务端使用的是Socket,本身速度就要快很多。

2、 HDFS在做删除测试时,明显较慢的地方是在创建到服务端的连接上,实际删除文件的速度很快。由于每次测试都需要先创建到服务端的连接,HDFS在这块消耗较大,在实际场景下,差距应该没有这么大。

3、 两者的适用场景确有不同,FastDFS更适合小文件的高效存取,而HDFS更适合超大文件上传后使用Mapreduce去做大数据处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

swordbob

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值