Cassandra中的节点是什么意思?

14
我是新手,想安装Cassandra。到目前为止,我阅读了一篇有关Cassandra的小文章。但有一件事我不明白,那就是“节点”的含义。可以有人告诉我“节点”是什么,它有什么作用,以及一个集群中最多可以有多少个节点吗?

2
有点相关:https://dev59.com/bV4c5IYBdhLWcg3wM36R请注意,这是机器翻译,可能不够准确。 - Aaron
4个回答

15

节点是服务器内的存储层。

较新版本的Cassandra使用虚拟节点(vnode)。默认情况下,每个服务器有256个vnode。

vnode本质上是存储层。

  • machine: 物理服务器、EC2实例等。
  • server: Cassandra的安装。每台机器都安装了一个Cassandra。Cassandra服务器运行核心进程,如snitch、分区器等。
  • vnode: Cassandra服务器中的存储层。默认情况下,每个服务器有256个vnode。

提示:

在较旧的博客文章、YouTube视频等中,Cassandra术语被不一致地使用,容易让人混淆。在旧版Cassandra中,每台机器安装了一个Cassandra服务器,每个服务器包含一个节点。由于旧版Cassandra中机器-服务器-节点之间存在1对1对1的关系,因此以前人们常常将machine、server和node这些术语互换使用。


7
Cassandra是一种分布式数据库管理系统,旨在处理跨多个普通服务器的大量数据。与所有其他分布式数据库系统一样,它提供高可用性而没有单点故障。
从上面的描述中,您可能会得到一些想法。一般来说,当我们谈论Cassandra时,我们指的是Cassandra集群,而不是单个PC。集群中的节点只是通过高内部网络连接到集群中的其他节点的完全功能机器。所有节点共同工作,以确保即使其中一个由于意外错误失败,它们作为整个集群仍然可以提供服务。
Cassandra集群中的所有节点都是相同的。没有主节点或从节点的概念。有多种原因设计成这样,如果您想了解更多详细信息,可以在Google上搜索。
理论上,您可以在Cassandra集群中拥有任意数量的节点。例如,苹果公司在2014年的Cassandra峰会上使用了75,000个节点。
当然,您可以尝试使用一台机器运行Cassandra。它仍然可以工作,只是这个集群中的一个节点。

你从哪里听说过这个75K节点集群?有人在记录最大的集群吗? - Don Branson
1
我不知道是否有这样的列表。我现在是一名博士生,一直关注科技新闻。这是我去年从一则新闻中得到的。我对这个数字感到非常惊讶,现在还记得。我刚刚谷歌了一下,发现有一些相关的新闻。例如:http://opensourceconnections.com/blog/2014/09/17/cassandra-summit-2014/ - Chong Tang
很酷,谢谢。他们有多个集群,最大的集群有1,000个节点。我想知道到目前为止最大的单一集群是多少。 - Don Branson
是的。他们有多个集群。我不知道单个集群的数量。集群的大小和效率之间总是存在权衡,主要是由于它们连接在一起的方式。如何互连集群中的节点是分布式系统研究社区的主要研究兴趣。 - Chong Tang

2
什么是Cassandra中的节点? Cassandra Node是存储数据的地方。 数据中心是相关节点的集合。 一个集群是包含一个或多个数据中心的组件。 换句话说,它是由多个Cassandra节点组成的集合,它们相互通信以执行一组操作。
在Cassandra中,每个节点都是独立的,同时与其他节点相互连接。集群中的所有节点扮演相同的角色。
集群中的每个节点都可以接受读取和写入请求,而不管数据实际位于集群中的哪个位置。
如果某个节点发生故障,则可以从网络中的其他节点提供读/写请求服务。 enter image description here

-1

1
你分享的链接中没有关于 node 的参考。 - Alex Burdusel
引用的链接并没有使用"node"这个术语,因为在许多旧文档和博客文章中它是模糊的。我上面的回答更详细地描述了节点。 - Akbar Ahmed
虽然没有提到Node,但对于新手来说仍然是非常有用的参考资料。 - Jake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接