2017-09-01 96 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