运行cqlsh的Cassandra失败了

时间:2017-09-01 15:42:58

标签: cassandra cqlsh cassandra-2.1

我在虚拟机上运行Cassandra 2.1.15。问题是我无法运行命令“cqlsh”来创建表和键空间。它总是在2分钟后给我一个超时错误。我想增加cassandra的超时。虚拟机具有8Gb内存和4CPU。这些是我尝试过的事情清单。

  1. 创建~/.cassandra/cqlshrc文件并将client_timeout增加到3600
  2. 修改/usr/bin/cqlsh.py文件并将DEFAULT_CONNECT_TIMEOUT_SECONDSDEFAULT_REQUEST_TIMEOUT_SECONDS变量增加到3600。
  3. 在cqlsh中传递参数 - -request-timeout 3600 --connect-timeout 3600
  4. cassandra.yaml文件的监听地址中使用IP而不是localhost
  5. 我知道我的虚拟机的性能非常慢,因为看到nodetool status命令的输出大约需要7分钟。

    Nodetool状态输出:

    Datacenter: site1
    
    =================
    
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address      Load       Tokens  Owns (effective)  Host ID                               Rack
    UN  192.168.1.6  196.08 KB  256     100.0%            c88cf8ec-f7e1-41e1-aad0-85742c8c3ffb  RAC1
    

    此外,我在system.log文件和netstat命令中看不到错误日志我可以看到服务器正在侦听端口9042和9160上的请求

    tcp6       0      0 :::9160                 :::*                    LISTEN      32694/java      
    tcp6       0      0 :::11311                :::*                    LISTEN      2237/astaire    
    tcp6       0      0 :::9042                 :::*                    LISTEN      32694/java      
    tcp6       0      0 192.168.1.6:7000        :::*                    LISTEN      32694/java      
    tcp6       0      0 127.0.0.1:40895         :::*                    LISTEN      32694/java      
    tcp6       0      0 127.0.0.1:7199          :::*                    LISTEN      32694/java
    

    请帮助我。

1 个答案:

答案 0 :(得分:0)

C * VM的8GB + 4CPU规格是好的,它不应该造成任何瓶颈或您遇到的滞后。有人认为我能想到的是你没有足够的IO带宽。尝试在任务管理器中检查磁盘使(我假设您正在使用Windows,因为您正在为C *运行VM)。

如果磁盘使用率存在问题,您可以尝试两种方法。

  • 切换到Docker。 Docker是一个轻量级虚拟机,与您运行的CentOS / Ubuntu虚拟机相连。 Docker快速入门是here,Dockerfiles是here
  • 直接在Windows上试用C *,如果可能,请使用CCM