MooseFS和Hadoop两个分布式文件系统各有什么优缺点?

简介: MooseFS和Hadoop两个分布式文件系统各有什么优缺点?

MooseFS是一家波兰公司开发的分布式文件系统,相对于Google体系,Apache支持的Hadoop HDFS来说,小众了许多。


一、从分布式架构的角度看


两者都属于中心结构,这点上是区别于GlusterFS这种去中心化的分布式文件系统架构。


MooseFS的元数据管理主服务叫做MasterServer,而HDFS是NameNode。它们都是在管理着元数据目录树以及负责不同数据节点的分布式协作。


因此从分布式架构角度看,两者的中心化特性所带来的分布式优劣是不分伯仲的。


这种中心化的特征我以前提到过,那就是存在一个主服务,对元数据的管理维护所形成的逻辑操作,就能让整个分布式系统的文件目录的管理维护成本变得很低,这是优势。


劣势就在于主服务往往承担着巨大的风险,这种风险来自于内存需要缓存大量元数据,那么一个数据文件块的存储就不能太小,分布式文件系统不适合存储小文件这是通病。


但是中心化架构非常关键的一环就是主服务的高可用,如果没有高可用,主服务宕机就会出现集群不可用的巨大风险,因此两者都必然具有高可用架构设计。


然而MooseFS在高可用服务上是闭源收费的,但HDFS是一套复杂、开源、成熟的设计(QJM+ZKFC+主备)机制,因此HDFS在生产环境方面是占优势的。


但是MooseFS在免费开源上也提供了MetaLogger方案,至少能让元数据实时地同步到备用服务器,主节点出现故障,至少运维手动启动备选节点不用考虑元数据的维护问题。


二、从易用性上看


MooseFS具有与GlusterFS一样出色的本地目录融合机制,原理上都是基于Linux/BSD系统的内核机制FUSE(用户空间文件系统),让分布式文件系统目录可以Mount成普通文件目录来使用,这样就保证程序无关了。


但是HDFS主要利用JAVA接口或者HDFS命令行来访问,对于程序接口是友好的,但是对于非程序员使用就带来了很多不方便。


三、从大数据生态角度考虑


MooseFS更像一个工具,而HDFS则是一个数据底座。


HDFS的存储格式与物理存储是策略与机制分离设计。


也就是说存储后都会转换成统一的128M Block(块),但是上层调用端可以设计出各自不同的格式,例如Avro、Parquet、CSV等,这就非常有利于上层的数据解析设计。


常见的分布式数据库HBase就是设计了自己的HFile格式,让不同的数据库节点进行存储、索引和查询。


HFile作为一种HDFS的格式策略,底层依然是HDFS的Block统一存储、副本复制和块分布。


尽管MooseFS也具备差不多的设计思想,不过它 并不像Hadoop生态那样,在HDFS之上有Hive、HBase这样的重量级数据系统。


而且MooseFS基于C++开发,并没有像HDFS那样更容易提供Java接口的支持和扩展,也就缺少了很大的Java社区支持。


四、对比总结


因此MooseFS比较适合作为文件资料的仓库。更倾向于普通意义上的文件存储,只不过文件也作为数据块,存在不同的分布式节点位置,


HDFS的应用设计思路继承自Google GFS,主要是针对应用系统的海量碎片数据的归拢聚合、存储,基于Java设计实现,更适合作为企业级数据底座,也更适合作为数据仓库的基础设施。


相关文章
|
2月前
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
48 2
|
2月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
51 1
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
54 1
|
2月前
|
分布式计算 Hadoop 网络安全
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
38 1
|
2月前
|
存储 机器学习/深度学习 缓存
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
53 1
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
53 1
|
3月前
分布式事务的两阶段提交和三阶段提交分别有什么优缺点?
【9月更文挑战第9天】两阶段提交(2PC)和三阶段提交(3PC)是解决分布式系统事务一致性的机制。2PC实现简单,保证强一致性,但存在同步阻塞、单点故障和数据不一致风险。3PC通过引入超时机制减少阻塞时间,降低单点故障影响,但复杂性增加,仍可能数据不一致,并有额外性能开销。
157 9
|
2月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
51 0
|
4月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
249 2
|
4月前
|
存储 分布式计算 Hadoop
【揭秘Hadoop背后的秘密!】HDFS读写流程大曝光:从理论到实践,带你深入了解Hadoop分布式文件系统!
【8月更文挑战第24天】Hadoop分布式文件系统(HDFS)是Hadoop生态系统的关键组件,专为大规模数据集提供高效率存储及访问。本文深入解析HDFS数据读写流程并附带示例代码。HDFS采用NameNode和DataNode架构,前者负责元数据管理,后者承担数据块存储任务。文章通过Java示例演示了如何利用Hadoop API实现数据的写入与读取,有助于理解HDFS的工作原理及其在大数据处理中的应用价值。
116 1