问题:drop keyspace MyKeyspace;
挂起。
环境: 这是一个虚拟机中的Ubuntu 12.04 64位,运行单个Cassandra实例(在开发机器上)。
Cassandra是1.1.6:
myuser@myhost:~$ /usr/bin/nodetool -h localhost version
ReleaseVersion: 1.1.6
充足的可用磁盘空间:
myuser@myhost:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/myhost-root 100232772 3100308 92112816 4% /
udev 1016760 4 1016756 1% /dev
tmpfs 410340 268 410072 1% /run
none 5120 0 5120 0% /run/lock
none 1025844 0 1025844 0% /run/shm
/dev/sda1 233191 24999 195751 12% /boot
机器闲置:
myuser@myhost:~$ uptime
21:24:50 up 3:46, 2 users, load average: 0.06, 0.04, 0.05
我如何到达那里:
机器正在运行另一个数据库,很长时间都没问题。现在我创建了一个新的密钥空间MyKeyspace,并运行一个Java程序来导入数据(使用titan图,但这无关紧要)。导入了几千条记录(仅几个MB)后,导入程序不再进展,并记录了6次:
418455 [RetryService : myhost(192.168.1.241):9160] INFO com.netflix.astyanax.connectionpool.impl.CountingConnectionPoolMonitor - Reactivating myhost
然后我的程序(实际上是titan图)放弃了:
com.thinkaurelius.titan.diskstorage.TemporaryStorageException: Temporary failure in storage backend
在此期间,我与/usr/bin/cassandra-cli
建立了联系,可以成功执行show keyspaces;
。
然后我决定重新开始;放下键空间。这就是它现在挂起的地方,持续数小时。它也没有响应ctrl-c。同时我可以通过ssh登录,与cassandra-cli连接,然后运行show keyspaces;
。密钥空间仍然存在。此外,我的Java应用程序可以访问该数据存储,但它是只读的。阅读成功,但写入失败。这只是我在写作时从泰坦图库中得到的超时:
com.thinkaurelius.titan.core.TitanException: ID renewal thread on partition [2] did not complete in time. [60007 ms]
我可以运行任何命令来查看发生了什么?我应该报告错误吗?
答案 0 :(得分:11)
如果在cassandra.yaml中启用了auto_snapshot(默认情况下已启用),则Cassandra将在删除键空间之前拍摄快照。如果你没有正确设置JNA,这有时会导致问题,所以我先检查一下。