cassandra 的CQL方面的事情

这几天搞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 <module>
    import cql
  File "/usr/local/lib/python2.7/site-packages/cql/__init__.py", line 22, in <module>
    import connection
  File "/usr/local/lib/python2.7/site-packages/cql/connection.py", line 18, in <module>
    from cursor import Cursor
  File "/usr/local/lib/python2.7/site-packages/cql/cursor.py", line 24, in <module>
    from cql.cassandra.ttypes import (
  File "/usr/local/lib/python2.7/site-packages/cql/cassandra/ttypes.py", line 7, in <module>
    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中。

>>> sys.path.append('/usr/lib/python2.7/site-packages/')
>>> 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', '/usr/lib/python2.7/site-packages/']

这样就可以发现已经包了。

>>> from thrift.Thrift import *之后不报错,说明已经找到这个thrift了。

 export PYTHONPATH=/usr/lib/python2.7/site-packages

#cqlsh 127.0.0.1 9160就出现了。

cqlsh>

是吧。这样就可以了。

很多同学会在安装thrift之后,然后发现不能cqlsh  希望这对你有点帮助。。。。嘎嘎!

猜你喜欢

转载自aiyan2001.iteye.com/blog/1177728