zoukankan      html  css  js  c++  java
  • cassandra的安装与使用

    1.安装cassandra


     #下载bin包
     wget http://apache.mirror.testserver.li//cassandra/0.6.5/apache-cassandra-0.6.5-bin.tar.gz
     #解压
     tar xzvf apache-cassandra-0.6.5-bin.tar.gz
     #创建目录
     sudo mkdir -p /var/log/cassandra
     sudo chown -R `whoami` /var/log/cassandra
     sudo mkdir -p /var/lib/cassandra
     sudo chown -R `whoami` /var/lib/cassandra
     #前台运行cassandra
     bin/cassandra -f
     #cli连接测试
     bin/cassandra-cli --host localhost --port 9160
     #出现如下信息表示安装成功
       Connected to localhost/9160
       Welcome to cassandra CLI.

       Type 'help' or '?' for help. Type 'quit' or 'exit' to quit.
       cassandra>

    2.安装thrift

     

     #下载源码包
     wget http://apache.mirror.testserver.li//incubator/thrift/0.4.0-incubating/thrift-0.4.0.tar.gz
     #解压
     tar xzvf thrift-0.4.0.tar.gz
     #安装需要的包
     sudo apt-get install libboost-dev automake libtool flex bison pkg-config g++
     #安装python包(因为我要用python开发)
     sudo apt-get install python-dev
     #安装
     ./bootstrap.sh
     ./configure
     make
     sudo make install
     #安装python库
     cd lib/py
     sudo python setup.py install
     
    3.安装python库

     

      #安装setuptools
      wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefe74e
      tar xzvf setuptools-0.6c11.tar.gz
      cd setuptools-0.6c11/
      sudo python setup.py install
      #安装python-cassandra
      wget http://pypi.python.org/packages/source/p/python-cassandra/python-cassandra-0.6.1.tar.gz#md5=cfffb96329dd2acc5a75d0f2126a38a6
      tar xzvf python-cassandra-0.6.1.tar.gz
      cd python-cassandra-0.6.1/
      sudo python setup.py install

    4.OK,现在可以用python来访问cassandra了

     

     #编写测试程序CassanTest.py
     #!/usr/bin/env python # encoding: utf-8
     """Sample Cassandra Client

     Created by Chris Goffinet on 2009-08-26."""

     from thrift import Thrift
     from thrift.transport import TTransport
     from thrift.transport import TSocket
     from thrift.protocol.TBinaryProtocol import TBinaryProtocolAccelerated
     from cassandra import Cassandra
     from cassandra.ttypes import *
     import time
     import pprint

     def main():

         socket = TSocket.TSocket("localhost", 9160)
         transport = TTransport.TBufferedTransport(socket)
         protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport)
         client = Cassandra.Client(protocol)
         pp = pprint.PrettyPrinter(indent=2)
         keyspace = "Keyspace1"
         column_path = ColumnPath(column_family="Standard1", column="email")
         key = "1"
         value = "foobar@example.com "
         timestamp = time.time()
         try:
             transport.open()
             #Insert the data into Keyspace 1
             client.insert(keyspace,
                           key,
                           column_path,
                           value,
                           timestamp,
                           ConsistencyLevel.ZERO)
             #Query for data
             column_parent = ColumnParent(column_family="Standard1")
             slice_range = SliceRange(start="", finish="")
             predicate = SlicePredicate(slice_range=slice_range)
             result = client.get_slice(keyspace,
                                       key,
                                       column_parent,
                                       predicate,
                                       ConsistencyLevel.ONE)
             pp.pprint(result)
         except Thrift.TException, tx:
             print 'Thrift: %s' % tx.message
         finally:
             transport.close()

     if __name__ == '__main__':
         main()

    #运行它

     python CassanTest.py
      [ ColumnOrSuperColumn(column=Column(timestamp=1286382520, name='email', value='foobar@example.com '), super_column=None)]

     参考:

    http://wiki.woodpecker.org.cn/moin/ApacheCassandra

    http://wiki.apache.org/thrift/GettingUbuntuPackages

    http://wiki.apache.org/thrift/ThriftInstallation 

  • 相关阅读:
    Innodb之线程独享内存
    Innodb之全局共享内存
    mysql三层体系
    grep/字符/次数匹配/锚定符/小大括号/wc/tr/cut/sort/uniq
    Mysql多字段模糊查询
    小程序中使用less(最优方式)
    js控制文本框只能输入中文、英文、数字与指定特殊符号
    连接 MySQL 数据库出现问题:The server time zone value ‘�й���׼ʱ��‘ is unrecogni....
    Mysql聚簇索引和非聚簇索引
    npm run dev 和 npm run serve
  • 原文地址:https://www.cnblogs.com/Donal/p/1844870.html
Copyright © 2011-2022 走看看