cassandra中的节点是什么意思?

What is meant by a node in cassandra?

我是 Cassandra 的新手,我想安装它。到目前为止,我已经阅读了一篇关于它的小文章。

但是有一点我不明白,那就是'node'的意思。

谁能告诉我 'node' 是什么,它有什么用,一个集群中可以有多少个节点?

Cassandra 是一种分布式数据库管理系统,旨在处理跨许多商用服务器的大量数据。与所有其他分布式数据库系统一样,它提供无单点故障的高可用性。

您可能会从上一段的描述中得到一些启发。通常,当我们谈论 Cassandra 时,我们指的是 Cassandra 集群,而不是单个 PC。集群中的节点只是一台功能完备的机器,通过高内部网络与集群中的其他节点相连。所有节点协同工作,确保即使其中一个节点因意外错误而失败,它们作为一个整体集群也可以提供服务。

Cassandra 集群中的所有节点都是相同的。没有主节点或从节点的概念。像这样设计有多种原因,如果需要,您可以 Google 了解更多详细信息。

理论上,您可以在 Cassandra 集群中拥有任意数量的节点。例如,Apple 在 2014 年使用 75,000 个节点服务于 Cassandra 峰会。

当然你可以一台机器试试Cassandra。它仍然可以在这个集群中只有一个节点时工作。

如果您想了解 Cassandra 术语,那么以下 post 是一个很好的参考:

http://exponential.io/blog/2015/01/08/cassandra-terminology/

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

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

vnode本质上就是存储层。

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

有用提示:

您会感到困惑的是,Cassandra 术语(在较早的博客文章、YouTube 视频等中)使用不一致。在旧版本的 Cassandra 中,每台机器都安装了一个 Cassandra 服务器,每个服务器包含一个节点。由于旧版本的 Cassandra 中机器-服务器-节点之间的一对一关系,人们以前互换使用术语机器、服务器和节点。

What is meant by a node in cassandra?

Cassandra Node是存放数据的地方

数据中心是相关节点的集合。

集群 是一个包含一个或多个数据中心的组件。 换句话说多个Cassandra节点的集合,它们相互通信以执行一组操作。

  • 在Cassandra中,每个节点都是独立的,同时又与其他节点互连。
  • 集群中的所有节点扮演相同的角色。
  • 集群中的每个节点都可以接受读写请求,无论数据实际位于集群中的哪个位置。
  • 在一个节点出现故障的情况下,Read/Write 请求可以从网络中的其他节点得到服务。