• 公司es搜索使用源数据存储在Cassandra数据库,今天接到需求,需要查询每个id总数量
  • 有个ruby在跑Cassandra数据,懒得改成python,直接用ruby写,结果查询报错:
    1
    2
    3
    4
    /home/ops/.rvm/gems/ruby-1.9.3-p551/gems/cassandra-driver-3.1.0/lib/cassandra/future.rb:631:in `get': Timed out (Cassandra::Errors::TimeoutError)
    from cassandra-driver-3.1.0/lib/cassandra/future.rb:396:in `get'
    from /home/ops/.rvm/gems/ruby-1.9.3-p551/gems/cassandra-driver-3.1.0/lib/cassandra/session.rb:123:in `execute'
    from ./validate.rb:30:in `<main>'
  • 解决方法如下:
    1
    session.execute("select count(*) FROM keyspacename.tabname WHERE source='keyword'", timeout:100)
  • 如果是在cqlsh里面报错timeout,可使用:
    1
    cqlsh --request-timeout 120 host
  • 参考链接:
  • Ruby Driver for Apache Cassandra
  • Operation Time Out Error in cqlsh console of cassandra