22

Hadoop,Spark,Kafka 这些名字背后的故事

 4 years ago
source link: https://www.tuicool.com/articles/m2EZrin
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Hadoop

m2URviy.jpg!web

说起 hadoop ,可能现在许多人都不会陌生,但读就不一定读的对了。

Hadoop的发音是 [hædu:p]。

Hadoop这个名字是Hadoop项目创建者Doug Cutting 的儿子的一只玩具的名字。他的儿子一直称呼一只黄色的大象玩具为 Hadoop 。这刚好满足Cutting 的命名需求,简短,容易拼写和发音,毫无意义,不会在别处使用。于是 Hadoop 就诞生了。

Zookeeper

关于“ZooKeeper”这个项目的名字,其实也有一段趣闻。在立项初期,考虑到之前内部很多项目都是使用动物的名字来命名的(例如著名的Pig项目),雅虎的工程师希望给这个项目也取一个动物的名字。

时任研究院的首席科学家RaghuRamakrishnan开玩笑地说:“在这样下去,我们这儿就变成动物园了!”

此话一出,大家纷纷表示就叫动物园管理员吧一一一因为各个以动物命名的分布式组件放在一起,雅虎的整个分布式系统看上去就像一个大型的动物园了,而Zookeeper正好要用来进行分布式环境的协调一一于是,Zookeeper的名字也就由此诞生了。

spark

Apache Spark的故事始于2009年,当时加州大学伯克利分校中一个名为的Matei Zaharia班级项目,项目名为Mesos。 

当时的想法是构建一个可以支持各种集群系统的集群管理框架,类似 Yarn 。 在构建了 Mesos 后,开发人员需要一个基于 Mesos 架构的实际产品。 这,这就是Spark的诞生方式。

Spark有火花,鼓舞的意思,称之为Spark的原因是,他们希望这款产品能够激发基于Mesos的几款创新产品。 

但是,正如我们现在所知,Spark现在已成为自己的项目,并且比大数据生态系统中的任何其他产品都具有更大的吸引力。 所谓无心插柳,莫过于此。

Apache

首先我们要明白,Apache 是一个 http 服务器,而我们熟悉的另一种说法"Apache Hadoop"中的 Apache 则指的是 Apache 软件基金会。

"Apache"是 Apache 软件基金会中的一个项目。

关于其名字,流传最广的解释是(也是最显而易见的):这个名字来自于一个事实,当Apache在1995年初开发的时候,它是由当时最流行的HTTP服务器NCSA HTTPd 1.3的代码修改而成的,因此是“一个修补的(a patchy)”服务器。

然而,在Apache服务器官方网站的FAQ中是这么解释的:“Apache这个名字是为了纪念名为Apache的美洲原住民印第安人的一支,众所周知他们拥有高超的作战策略和无穷的耐性。”

贝伦多夫说:“我选择阿帕奇这个名字是取其积极含义。阿帕奇族是最后一个屈服于美国政府的民族。当时我们担心大公司迟早会参与竞争并‘教化’这块最早的网络之地,所以在我看来,阿帕奇是个很好的名称,也有人说这个词一语双关-因为正如Apache(与"a patchy"谐音)的名字所表明的那样,他们确实是在给服务器打补丁。”

Kafka

如果你记性比较好,你应该会记得一篇高中的课文《变形记》。它的作者也叫kafka,全名是“Franz Kafka”。

那么apache kafka和Franz Kafka的名字相同只是巧合吗。这还真不是!

根据作者原话,因为apache kafka是一个用来优化读写的系统,所以用一个作家的名字来命名并不奇怪。而且作者在大学时非常喜欢Franz Kafka。此外,这个名字对于开源来说听起来很酷(emm...有点道理啊)。

tomcat

Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。

由于大部分开源项目O'Reilly都会出一本相关的书, 并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。

因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物) 此外tomcat还有一个组件“Catalina”,它的名字也蛮有意思的。

Catalina是tomcat的核心组件,主要作用是处理servlet。 Catalina原本是美国西海岸靠近洛杉矶22英里的一个小岛,因为其风景秀丽而著名。 为什么要这个模块起名为“Catalina”呢?因为作者真的真的很喜欢这个岛啊。 

从作者原话可以看得出“Even though I don't live in Southern CA, I've always liked what I've read and seen of Catalina Island” 另外在开发的早期阶段,Tomcat是被搭建在一个叫Avalon的服务器框架上,而Avalon则是Catalina岛上的一个小镇的名字。 

以上~

推荐阅读

浅谈数据同步之道

C,Java,Python,这些名字背后的江湖!

eqemA3v.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK