這幾天搞cassandra 0.8.4,本來剛用了乙個月,誰知道,現在這東東到了0.8.6。感覺發展挺快的。我這裡說一下我在弄cql的過程遇到的乙個問題,及解決過程。希望對你有幫助。
我準備玩玩cqlsh .覺得這是熟悉cql的快捷、有效,對以後的生產過程也會要幫助,主要是監控,排查問題方面。對開發也是有指導的吧。
於是乎我安裝了cql-1.0.3.tar.gz
然後執行 cqlsh 127.0.0.1 9160
就報traceback (most recent call last):
file "/usr/local/bin/cqlsh", line 33, in
import cql
file "/usr/local/lib/python2.7/site-packages/cql/__init__.py", line 22, in
import connection
file "/usr/local/lib/python2.7/site-packages/cql/connection.py", line 18, in
from cursor import cursor
file "/usr/local/lib/python2.7/site-packages/cql/cursor.py", line 24, in
from cql.cassandra.ttypes import (
file "/usr/local/lib/python2.7/site-packages/cql/cassandra/ttypes.py", line 7, in
from thrift.thrift import *
importerror: no module named thrift.thrift
相當杯具吧。
嗯,看了是cql必須佩帶thrift
又下了 個thrift-0.7.0.tar.gz安裝了。
發現問題依舊。
然後,python回車
>>>import sys
>>>>sys.path
['', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']
但是我安裝thrift-0.7.0.tar.gz的包在/usr/lib/python2.7/site-packages/
顯而易見,不在sys.path中。
這樣就可以發現已經包了。
>>> from thrift.thrift import *之後不報錯,說明已經找到這個thrift了。
export pythonpath=/usr/lib/python2.7/site-packages
#cqlsh 127.0.0.1 9160就出現了。
cqlsh>
是吧。這樣就可以了。
很多同學會在安裝thrift之後,然後發現不能cqlsh 希望這對你有點幫助。。。。嘎嘎!
Cassandra基本使用教程 CQL語法
cassandra是facebook的乙個nosql資料庫,大致相當於redis但又不同於redis,具體在cap理論中,以後補上來。建立表空間,設定複製策略和複製因子 create keyspace mykeyspace with replication 或者 create keyspace my...
Cassandra下的Rang查詢
1 第乙個key不能使用range,只能用in 或者等於 2 一般的,在對後面的key做range查詢,這個key前面的key,必須用等於限定,否則效率非常低。比如 primary key user id int logtime int select from userlog where logti...
有關cassandra的儲存引擎
cassandra使用乙個類似於日誌結構的結合樹 log structured merge tree 的儲存結構,不像傳統關聯式資料庫那樣使用b tree。cassandra會避免在寫之前去讀。寫前讀 read before write 特別是在乙個大的分布式系統裡,會對讀效能產生影響,還會帶來其它...