4
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。

有谁知道可能是什么问题?

4

2 回答 2

3

组合:

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

已解决此问题。

于 2012-07-12T15:50:16.230 回答
0

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

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

于 2012-06-14T14:29:37.677 回答