当前位置: 首页 > 面试题库 >

Cassandra的cqlsh控制台中的操作超时错误

詹甫
2023-03-14
问题内容

我有一个三个节点的Cassandra集群,并且创建了一个表,该表具有2,000,000多行。

当我select count(*) from userdetails在cqlsh中执行此()查询时,出现以下错误:

OperationTimedOut:错误= {},last_host = 192.168.1.2

当我运行计数功能以减少行数或限制为50,000时,它可以正常工作。


问题答案:

count(*)实际上是翻页所有数据。因此,如果select count(*) from userdetails没有那么多行,将导致没有限制。一些细节在这里:http : //planetcassandra.org/blog/counting-key-in-
cassandra/

您可能要考虑使用Spark自己维护计数,或者,如果您只想要一个棒球场编号,可以从JMX那里获取。

要从JMX中获取数据,可能会有些棘手,具体取决于您的数据模型。要获取分区数,请获取org.apache.cassandra.metrics:type=ColumnFamily,keyspace={{Keyspace}},scope={{Table​}},name=EstimatedColumnCountHistogrammbean并汇总所有90个值(这是nodetool cfstats输出)。它只会给您sstables中存在的数字,因此要使其更准确,您可以进行刷新或尝试从MemtableColumnsCountmbean
估计memtables中的数字

对于非常基本的球场编号,您可以从system.size_estimates列出的所有范围中获取估计的分区数(请注意,这只是一个节点上的编号)。将其乘以节点数,然后除以RF。



 类似资料:
  • Cassandra CQLsh代表Cassandra CQL shell。 CQLsh指定如何使用Cassandra命令。 安装后,Cassandra提供了一个提示Cassandra查询语言shell(cqlsh)。 它有助于用户与之通信。 Cassandra命令在CQLsh上执行。 看起来像这样: 启动CQLsh: CQLsh提供了很多选项,在下表中是一些常用的命令: 选项 使用/作用 help

  • 应用申请和应用查看面板 我的应用 开发者可在该面板查看目前已在知晓云绑定的小程序 申请应用 填写要绑定在知晓云后台的小程序信息, 包括 AppName、AppID 以及 AppSecret 在小程序管理后台配置信任域名 | 配置项 | 域名 | | —————— | ———————————- | | request 合法域名 | https://sso.ifanr.com | | socket 合

  • 绑定微信支付 通过知晓云使用微信支付功能,需要先在支付模块中绑定微信支付 1.注册小程序开发者账号 2.完成微信认证(个人号不支持微信认证):【登录小程序】—>【设置】—>【微信认证详情】 3.申请微信支付:微信认证后,可以在小程序后台,点击微信支付菜单项,选择申请微信支付。申请完成后,会发送微信支付商户号,商户平台用户名密码等信息到注册者邮箱 4.在知晓云中绑定微信支付:绑定微信支付需要你的商户

  • 简介 ACL, 又称访问控制列表,是使用以访问控制矩阵为基础的访问控制方法,每一个对象对应一个串列主体。访问控制表描述每一个对象各自的访问控制,并记录可对此对象进行访问的所有主体对对象的权限。 很多类型的系统都实现了 ACL, 例如: 文件系统 ACLs 参考 Unix 文件系统权限 网络 ACLs 路由器、交换机访问 SQL 实现 就 Unix 文件系统而言, ACL 指的是文件的操作权限列表。

  • 该模块允许用户创建、编写运行于知晓云云引擎上的代码。适用于一些对安全性有要求,功能复杂、需求个性化的业务场景。配合触发器可以帮助开发者实现功能复杂的小程序。 创建 点击“添加”按钮打开创建云函数的弹窗。 知晓云提供了一个名为 Hello World 的基础云函数模板,云函数创建时默认选中。以后会提供更多的其他功能的模板以供用户选择。 注:修改后的代码需要点击编辑器左下方的“提交审核”按钮,保存成功