HDFS

来源:互联网 发布:cmd网络修复命令 编辑:程序博客网 时间:2024/05/21 10:04

HDFS是Hadoop的分布式文件系统,但是分布式文件系统不只是HDFS,如Google的GFS,Spark的Tachyon,他们都是分布式文件系统。

在这里谈到分布式文件系统,我们一定要和传统的文件系统进行区分。传统的文件系统如Windows的NTFS,FAT32和FAT16,Linux的ext3,ext4,它们都是基于裸设备构建,而分布式文件系统是基于底层的操作系统的文件系统,就是说我们可以把分布式文件系统看作是底层文件系统上层的一个应用,它提供给我们的只是一个访问的接口,不会像登录操作系统进行一系列的操作。下面我们对HDFS做一下详细介绍:

HDFS是用Java实现的文件系统,它使用很成熟的工业标准的计算机,为海量数据提供冗余存储。但是HDFS到底适合存储什么样的数据,是不是所有数据都可以处理呢?不是的。

HDFS最适合于合理数量的大文件:百万级,而不是十亿级的文件

每个文件在100MB及以上

为什么会有这些限制呢?

我们存储数据的节点是可以进行扩容,但是master会管理和记录数据,这些数据属于源数据,源数据会全部加载到内存,而内存有限,所有数量就会受限。

另外HDFS文件是“一次写”的,不允许随机写,这是它的不足。而且HDFS为大文件的连续读作了优化,而不是随机读。

那么HDFS的文件如何存储呢?

数据文件在加载时拆分成块(默认128MB)并进行分布,所以文件不能小而多,这样会影响到后续的工作。而且HDFS是冗余存储,所以每个块被复制到多个数据节点中(默认3份),这三份遵循的机制就是同一个节点存储一份,而如果配置了机架感知,那么在分配的时候会考虑到机架感知这一因素,不同机架配置不同的块。

至于HDFS,它的访问形式多样,自行了解就可以。以上就是根据自己的实际经验对HDFS做的一个介绍,希望可以有所帮助。在这也建议大家多去认知和学习,平常也可以关注一些自媒体平台,我个人喜欢看“大数据cn”和“大数据时代学习中心” 这样的微信公众号,里面介绍的知识还很不错的。总之,期待每一个想要学习大数据的人都可以学有所进。

0 0
原创粉丝点击