刚开始试用 Cassandra 的问题

红薯 发布于 2010/04/06 10:14
阅读 3K+
收藏 1

最近 Cassandra 挺热火,想试试,下载了个最新的 0.6.0 RC1 ,解压后运行 bin/cassandra.bat 后报类没找到,打开 cassandra.bat 增加 CASSANDRA_HOME 变量后,启动OK,如下所示:

还没看文档怎么用呢,就拿浏览器访问了下 http://localhost:9160 后,浏览器无响应,后台报内存溢出的错误,经测试发现稳定版0.5.1下用浏览器访问,则直接退出,没任何提示。

java.lang.OutOfMemoryError: Java heap space

就算这东西不是用HTTP访问的,但也不应该报内存溢出啊,我看启动的批处理里配置了1G的内存呢。

难道是这个 RC1 版本还不够稳定?

另外 Cassandra 默认只允许本机访问,如果要允许局域网访问的话,需要打开 conf/storage-conf.xml 文件,修改 ThriftAddress 配置值为 0.0.0.0 ,重启后即可。

安装后在 Windows 下可用以下命令来测试是否安装成功:

bin/cassandra-cli --host localhost --port 9160

不过 cassandra-cli.bat 文件也要加上 CASSANDRA_HOME 的环境变量。

Cassandra 的数据存储结构如下所示:

其中 Keyspace 和 column family 是预先配置好的。

默认 Cassandra 将数据存储在同一个盘下的 /var/lib/cassandra/data 目录下,而日志文件位于 /var/log/cassandra 目录下,这两个目录可通过 storage-conf.xml 文件进行配置。

Cassandra 使用 Thrift 作为其客户端API包,Thrift 有多种语言的版本,包括 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, 和 OCaml.

加载中
0
JavaGG
JavaGG

看来还是比较专业的东西,,和大众化还有点距离

0
c
cnkenly

请问一下,Cassandra能做查询吗,类似sql的?
如: select * from db.table where field like '%key%'
如果能请给出相应的命令,如果不能,那用什么命令或方法可以实现呢,谢谢

0
红薯
红薯

Cassandra 都是通过专用的 api 来操作数据的,没有这种语法。具体请看其客户端api文档。

0
欧德高
欧德高

目前还是比较习惯用mongodb

0
c
cnkenly

引用来自#4楼“红薯”的帖子

Cassandra 都是通过专用的 api 来操作数据的,没有这种语法。具体请看其客户端api文档。

api文档好象只提供key_range这个东东, 那如果要实现一般的搜索,该如何去做啊,请望指点

0
黄平俊
黄平俊

Cassandra是通过key-value来查询数据的,而不是像关系数据库一样用T-SQL,像like %这种方式建议用lucene搜索,而不是交给数据库或Cassandra

0
rio
rio

看起来挺麻烦的

0
c
cnkenly

引用来自#7楼“Jimmy”的帖子

Cassandra是通过key-value来查询数据的,而不是像关系数据库一样用T-SQL,像like %这种方式建议用lucene搜索,而不是交给数据库或Cassandra

 lucene 这东东好象是java的吧,我只会用php

0
jobell
jobell

Cassandra怎么用来进行排序呢,类似于sql中的order by

0
youandroid
youandroid

Cassandra怎么用来进行排序呢,类似于sql中的order by

 这个很难,他的用法主要是做Key 查询或者KeyRange查询。除非你的order by就是Key

返回顶部
顶部