cassandra 在磁盘空间非常少的节点上运行修复[已关闭]

aydmsdu9  于 2023-05-17  发布在  Cassandra
关注(0)|答案(1)|浏览(142)

**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受答复。

这个问题似乎不是关于在help center定义的范围内编程。
9小时前关闭
Improve this question
大约一个月前,我继承了一个Cassandra集群,有了一份新工作。我对关系数据库非常有经验,但对Cassandra是新手。我有两个问题。
第一,我有一个迫切的需要,既完成维修,而不是用完的空间,而这样做。Cassandra集群有7个节点,每个节点上有两个端口。有问题的节点当前具有三个目录,分别为96%、95%和93%。我正在运行的修复特定于节点、端口、键空间和表。我已经运行了有问题的目录高达99%与我在运行修复前两次尝试.在我开始第三次尝试之前,我想处理一下空间问题。我不确定是否有可能在这个问题上投入额外的硬件,我现在正在追求这一点。我已查看删除快照,但在当前节点上没有看到任何快照。将数据移动到另一个节点是一个选项吗?有人能为我提供这样做的命令吗?我的其他节点是在70年代的空间智慧。
第二,有人能给我推荐一门关于Udemy、Coursera等的好课程吗?
谢谢你,老读者,第一次提问,乔
我已经运行了两次修复,每次都因为空间问题不得不停止。

gpnt7bae

gpnt7bae1#

恭喜您成为Cassandra管理员!
数据分布(分区)在Cassandra集群中的节点上,每个节点拥有一系列“令牌”,其中每个Cassandra分区(相当于数据库记录)Map到令牌,然后确定分区存储在哪个节点上。
因此,为了回答你的第一个问题,不可能将数据移动到另一个节点,因为(1)其他节点不一定拥有数据,(2)它会否定Cassandra在集群中分发数据的方式。
您确实需要首先解决空间问题,例如通过(3)向受影响的卷添加磁盘空间,和/或(4)添加更多节点,以便数据自动进一步分布,从而每个节点拥有更少的数据。
第二,你在文章中多次提到端口,但它们并不真正相关。对于某些上下文,默认端口为:

  • 应用程序/客户端连接到的CQL客户端端口9042
  • gossip端口7000,用于节点间(私有)通信
  • JMX端口7199,用于通过nodetool和监视等工具进行管理员访问

最后,datastax.com/dev是一个很棒的资源,包括免费的动手教程。我特别推荐免费的Cassandra Fundamentals学习系列,您可以通过简短的动手实验快速了解基本概念。您需要的课程/教程的一切都提供。
如果你想多花点时间,DataStax Academy上有一些讲师指导的课程,从几天到几周不等,都是免费的。干杯!

相关问题