Cassandra 1.1.1未能放弃列家族

时间:2012-06-13 14:46:00

标签: java cassandra

csuser@lovelyserver01:~$ cqlsh --cql3 lovelyserver01
Connected to Lovely Cluster at lovelyserver01:9160.
[cqlsh 2.2.0 | Cassandra 1.1.1 | CQL spec 3.0.0 | Thrift protocol 19.32.0]
Use HELP for help.
cqlsh> CREATE KEYSPACE bigdata WITH strategy_class = 'SimpleStrategy' AND strategy_options:replication_factor=3;
cqlsh> USE bigdata;
cqlsh:bigdata> CREATE COLUMNFAMILY results (client_id int, hierarchy_id int, units int, measures int, PRIMARY KEY (client_id, hierarchy_id));

插入几行,从5到5000行 - 没什么好疯狂的。 然后我意识到我需要调整列族布局并重新插入所有数据,所以我:

cqlsh:bigdata> DROP COLUMNFAMILY results;

这没有任何作用,没有错误,列族仍然存在,我仍然可以从该列族中选择数据。我做了几次,然后它似乎工作。

然后,当我尝试重新创建列族时,每次得到" TSocket读取0字节"并且cqlsh会话变得无用。如果我删除所有节点上的cassandra数据目录,那么我可以重新创建密钥空间并重新启动。当然,这使得发展进展缓慢。

我在5台旧笔记本电脑的集群以及10个AWS EC2实例上尝试过此操作。

每个节点的初始令牌是前一个节点的两倍。每个节点的种子被设置为第一个节点。 Commitlog在同一台设备上。我使用的是listen_address和rpc_address的主机名。

任何人都知道这个问题是什么?

2 个答案:

答案 0 :(得分:3)

以下组合:

  • 更新到cassandra 1.1.2(来自1.1.1)
  • 在所有节点上安装NTP
  • 将文件系统升级到ext4(来自ext3)

解决了这个问题。

答案 1 :(得分:0)

似乎编辑该文件'log4j-server.properties'没有解决问题。

我必须删除所有计算机上的数据才能重新创建列族。这非常烦人。