2017-09-01 98 views
0

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

  1. 创建~/.cassandra/cqlshrc文件,并增加CLIENT_TIMEOUT到3600
  2. 修改/usr/bin/cqlsh.py文件,并增加DEFAULT_CONNECT_TIMEOUT_SECONDSDEFAULT_REQUEST_TIMEOUT_SECONDS变量,以3600
  3. 传递参数 - -request-timeout 3600 --connect-timeout 3600在cqlsh。
  4. cassandra.yaml文件,而不是本地主机

我知道,我的虚拟机的性能,因为它需要约7分钟就看到nodetool status命令的输出非常缓慢的监听地址使用IP。

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 

请帮助我。

回答

0

C * VM的8GB + 4CPU规范很好,它不应该产生任何瓶颈或您遇到的滞后。一想到我能想到的是你的硬盘没有足够的IO带宽。尝试检查任务管理器中的磁盘使用情况(我假设你正在使用Windows,因为你正在为C *运行一个虚拟机)。

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

  • 切换到Docker。 Docker是一个轻量级的虚拟机,与您正在运行的CentOS/Ubuntu虚拟机协同工作。 Docker快速启动为here,Dockerfiles为here
  • 直接在窗口上尝试C *,如果可能的话使用CCM