HDFS分布式存储,高容错,高扩展,高可靠。HDFS采用master,slave模式。HDFS架构:提高了可扩展性,HDFS将文件分块存储,可优化存储颗粒度(大小)。namenode统一管理所有slave机器datanode存储空间,datanode以块为单位存储实际的数据。真正的文件io操作客户端直接和datanode交互。(相当于自提)。
首先,我们说集群。看一下下面这个比喻:
一只哈士奇拉不动雪橇,那就再来一条,如果你太重了,那就再来一条。
直到能拉动你,集群就是这个思想,很简单。集群里面的一个节点就是一只哈士奇。
集群一开始是干啥的呢,存数据的。
就是HDFS。就是存数据的。
但是集群光光用来存数据还不行。那每台节点只要硬盘就行了。但实际上,每台节点都是有CPU,有内存的。
所有肯定不是单单用来存数据的,当然了这是后话,一开始创造这个集群的人是咋想,咋设计的,他肯定是两个方便都考虑过。
如果只用来存,那这么多数据如果要计算的话,还得从各个只能存的节点上把数据取出来,传输到可以计算的节点上。
(计算的逻辑就是我们写的程序)这是非常消耗机器性能的,带宽,时间等等。传输中还有可能丢失数据。因为既然在集群里面,那肯定是非常大的数据量。所有从时间、可靠性上都不能这么干。这么干其实就是 移动数据 。
所有我们给每个节点装上CPU,内存。然后把计算的逻辑(就是我们写的程序)下发到各个节点上,让每个节点自己进行计算,这就是 移动计算 。有人说,你装CPU,内存不要钱啊。当然要钱啊,但是很便宜啊,我们集群的思想就是大量性能平平的机器取代单个的超级计算机。所以集群的机器都是很便宜的。还有人说,你把程序传给节点不也消耗时间,消耗带宽吗?
那也划得来,一个程序才多大,几KB,几MB,几百MB不得了了,又不是去开发QQ,去开发windows操作系统,肯定比TB、PB级别你要处理的数据小的多吧。
综上所述,集群的创造者给每个节点加了CPU,让每个节点都有运算的能力,因为移动计算要比移动数据便宜。
以上引用信息转载于http://blog.itpub.net/69904754/viewspace-2643235/。
什么叫编程接口呢?编程接口是个比较抽象的概念 它是为了实现继承而出现的一种方法 实际上说 编程接口 倒不如想象他是 编程“方法” 只是规定了一套 实现方法 而已 好比你要回家 可以 走路 可以 做车
这 就是接口 假如你选择了 做车 就引入了继承的问题 做什么车呢 这时候又有了对象
比如公交车。
接口编程,接口是什么,有什么作用?(详情可查看此文章。)