您好,登录后才能下订单哦!
这篇文章主要讲解了“为什么要用Hadoop”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“为什么要用Hadoop”吧!
Hadoop 是由很多技术项目组成的一个生态系统。狭义的 Hadoop 有三个框架:
以上狭义的 Hadoop 最擅长的仅仅是做海量离线日志分析,广义的 Hadoop 包含很多组件,现在可以做非常多的事情,应用场景非常广,包括实时计算等。
大数据计算的核心是移动计算而不是移动数据:将运算程序分发到分布式的数据集上运行,而不是移动数据。
数据量不断增大,单节点无法应对海量数据的处理,需要使用分布式架构,需要考虑的复杂情况非常多,如:任务监控、节点存活监控、数据如何共享、中间数据如何传递等。Hadoop 作为分布式框架,已经为我们解决了这些问题,使用它极大降低了海量数据下的公共数据处理问题。
首先了解一下什么是 NFS,NFS 网络文件系统将文件挂载到不同的机器上,通过一台服务器(NFS Server)作为统一的入口,其他客户端访问 Server,Server 将从目标机器上取文件给客户端。简单理解为有一个文件服务器在远端,叫 NFS Server,上面有共享文件,可以将它挂载到你本地的机器上,访问 NFS Server 就像访问自己电脑的某一个磁盘一样(比如 C 盘)。
HDFS 是有 NameNode 和 DataNode 的概念,最基本的模型是一台 NameNode,多台 DataNode。NameNode 存储元信息,如某个文件存放在哪台服务器上,有几份备份等。DataNode 存储数据,数据文件被切分成块(block),每一块存储在多个节点上,互为备份,默认是 3 份,可以在同一个机架,一般为了保证高可用,会放在不同机架上。
HDFS 和 NFS 的主要区别:
海量数据的计算关键是移动计算而不是移动数据。
假设有特别多的数据需要计算,只用一台机器是无法实现的,因为数据无法一次读取完,会对内存造成特别大的压力,需要读取很多次,会受网络的限制。
Hadoop 通过 MapReduce 实现海量数据的计算,数据存储在多个 DataNode 上,Map 阶段将计算程序分发到每个 DataNode 上,将每个节点上的计算结果通过网络发送到某一台做 Reduce 计算的机器,Reduce 将结果进行汇总输出。
感谢各位的阅读,以上就是“为什么要用Hadoop”的内容了,经过本文的学习后,相信大家对为什么要用Hadoop这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。