问题标签 [nodetool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
432 浏览

cassandra-2.0 - 运行 nodetool repair 后创建了太多 SSTable,并且 SStable 未压缩

我在数据中心有 4 个节点,复制因子为 3。在节点中运行 nodetool repair 时,会生成太多 SSTable,但文件大小非常小(大约 4KB)。其他人早些时候在下面给出的链接中报告了此问题。但对我们来说,即使在 2 周的时间之后,compaction 也不会触发,并且仍然存在如此多的 sstables(大约 10k)。我们使用的是 size-tiered-compaction,cassandra 版本是 2.0.3。

https://issues.apache.org/jira/browse/CASSANDRA-6698

如果您需要更多详细信息,请告诉我。

0 投票
2 回答
2122 浏览

cassandra - Cassandra nodetool修复期间打开的文件太多

我在一个节点上做了一个 nodetool 修复命令。此节点出现故障,日志文件显示以下错误消息:

我们有一个包含 5 个节点的小型集群:node0-node4。我有一张大约 34 亿行的表,副本为 3。这是表描述:

我正在使用 Cassandra 2.1.2。我已将所有节点的最大打开文件限制设置为 200'000。

在我发出 nodetool repair 命令之前,我已经计算了数据目录中的文件数。这是崩溃前我每个节点的计数:

现在崩溃后:

一个unix目录中的文件量增加到这样的扩展是否正常?我能做些什么来避免这种情况?以后如何避免这个问题?我应该增加打开文件的数量吗?这对我来说似乎已经很大了。对于这么多的记录,我的集群是否太小?我应该使用另一种压缩策略吗?

谢谢你的帮助。

0 投票
1 回答
885 浏览

cassandra-2.0 - 需要一些关于运行 Cassandra 节点工具修复的说明

因此,我们一直无法平衡当前集群上的工作负载,主要是由于预算限制和目前无法添加更多节点。直到最近,一个节点在一夜之间宕机的情况经常发生,所以我经常运行 nodetool repair。最近集群变得更加稳定,这些宕机的节点不会经常发生,所以上周末我为每个节点上的 nodetool repair -pr 创建了 cron 作业,每周运行一次。gc_grace 仍为默认 10 天,最大提示仍为默认 3 小时。

我的问题是:

  1. 如果我们丢失一个节点超过 3 个小时,提示/秒到底会发生什么?它/它们不再存在吗?
  2. 如果我们丢失了一个节点超过 3 个小时,但由于某种原因没有意识到该节点已经停机那么久,如果运行 nodetool repair -pr 而不是对停机节点进行完全修复会发生什么?
  3. 如果确实如此,您将如何解决问题 2 中的问题?
  4. 有没有办法检查所有节点是否显着一致/修复?

这还没有发生(至少我不这么认为),但我正在努力为最坏的情况提前计划,因为我们的集群稳定性可能会或可能不会长期失去,所以我宁愿做好准备能够。

0 投票
1 回答
235 浏览

cassandra - Cassandra 修复后要注意什么

我们的集群目前存在问题,建议在添加更多节点/扩展当前环境之前不要运行 OpsCenter。也就是说,我们显然无法在 OpsCenter 关闭的情况下运行持续修复,因此必须每周运行一次修复。

因此,我将它们安排为 cron 作业运行,我只是想知道今天我在日志中查找什么以确保作业成功完成?我“认为”他们完成得很好,目前没有任何运行,但我只是想知道日志文件中的消息/条目应该是什么才能成功完成修复。

0 投票
2 回答
2108 浏览

java - Cassandra 部署集群失败

我正在尝试在 AWS 上部署 Cassandra 集群。我按照http://datastax.com/documentation/cassandra/2.1/cassandra/install/installAMI.html上的说明进行操作 ,看起来一切正常,但一个节点仍然得到 0 响应。在最初的脚本之后我跑了

cassandra-压力写

其余两个节点上的命令,一切正常。当我试图跑

节点工具状态

失败节点上的命令,我收到此错误消息

我寻找 cassandra 服务,但它已关闭,当我启动它并再次运行时,我得到了这个错误

错误:集群中不存在节点。这个节点启动完成了吗?-- StackTrace -- java.lang.RuntimeException:集群中没有节点。这个节点启动完成了吗?在 org.apache.cassandra.dht.Murmur3Partitioner.describeOwnership(Murmur3Partitioner.java:129) 在 org.apache.cassandra.service.StorageService.effectiveOwnership(StorageService.java:3763) 在 org.apache.cassandra.service.StorageService.effectiveOwnership (StorageService.java:104) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:606) 在 sun.reflect.misc。

当我再次运行它时,我遇到了第一个错误并且 cassandra 服务已关闭。我还更改了 /etc/cassandra/cassandra.yaml 文件。我设置了种子、侦听器地址、rpc 地址、集群名称和令牌,与集群的其余部分相同。当我再次运行时,Cassandra 服务出现故障。我该如何解决?

0 投票
1 回答
1312 浏览

amazon-web-services - 如何重启 Cassandra EC2 实例?

我在 AWS 上有 Cassandra 集群。我有它只是为了测试目的。因此,我需要停止我的实例并在其他时间启动它们。我使用 Datastax AMI 部署了集群,一切似乎都很好。我在 EC2 管理控制台中停止了实例并等待“停止”状态。在那之后,我开始了他们。我连接到他们并且 Cassandra 没有工作。命令nodetool无法到达 localhost:7199。AWS 上的安全组允许所有入站和出站流量。我试过了sudo service cassandra start,但我得到了同样的错误。

我需要启动集群的所有节点而不对其进行手动操作。

0 投票
2 回答
9010 浏览

cassandra - 无法在 cassandra 的远程和本地服务器上运行 nodetool

当我尝试运行 nodetool status 或任何其他 nodetool 命令时出现上述错误。Cassandra 运行良好,集群中其他节点上的 nodetool 状态显示它是 UN 状态。我尝试在 cassandra-env.sh 文件中添加以下条目,但仍然出现相同的错误

JVM_OPTS = "$JVM_OPTS -Djava.rmi.server.hostname="

0 投票
1 回答
501 浏览

cassandra - nodetool removenode 允许死节点在重新上线时重新加入

我使用nodetool removenode. 运行nodetool status后表示删除的节点不再存在。但是当死节点上线时,nodetool status表明被移除的节点是UP的。

是否有任何命令可以防止死节点在重新上线时加入集群?

0 投票
2 回答
657 浏览

cassandra-2.0 - 使用 vnodes 的新 cassandra 集群显示不平衡环

刚才我使用 vagrant 在本地机器上创建了一个 3 节点 cassandra 集群,运行 cassandra 2.0.13

以下是每个节点的 cassandra.yaml 配置

节点0

节点1

节点2

当我跑步时

我得到以下结果

根据我从 datastax 参加的教程,每个节点都应该拥有 33% 的数据,但这里显示每个节点拥有大约 65% 的数据,我无法弄清楚自己做错了什么。

我没有在集群中加载任何数据,也没有创建任何 keyspace ,它的全新集群没有任何数据。

请帮我找出问题所在

谢谢

0 投票
2 回答
5338 浏览

cassandra - 无法将令牌数量从 1 更改为 256

我正在使用 Cassandra 2.0,并且集群已经设置了 3 个节点。Nodetool 状态和环显示所有三个节点。我已经为所有节点指定了令牌。

我按照以下步骤更改了一个节点中的配置:

1) sudo service cassandra stop
2) 更新 cassandra.yaml (更新 thrift_framed_transport_size_in_mb)
3) sudo srevice cassandra start

具体没有启动成功,system.log 显示如下异常:

org.apache.cassandra.exceptions.ConfigurationException:无法将令牌数从 1 更改为 256

在不丢失节点或集群中现有数据的情况下重新启动节点的最佳机制是什么?