放置键空间挂起 [英] Drop keyspace hangs

查看:71
本文介绍了放置键空间挂起的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题:放下键空间MyKeyspace; 挂起。

环境:
这是virtualbox中的Ubuntu 12.04 64位,运行一个Cassandra实例(在开发计算机上)。

Environment: This is an Ubuntu 12.04 64bit in virtualbox, running a single Cassandra instance (on a development machine).

Cassandra是1.1.6:

Cassandra is 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次:

The machine was running another db, all fine for long time. Now I created a new keyspace MyKeyspace, and run a Java program to import data (using titan graph, but that shouldn't matter). After a couple thousand of records imported (a couple of MB only) the import program did not make progress anymore, and logged 6 times:

418455 [RetryService : myhost(192.168.1.241):9160] INFO  com.netflix.astyanax.connectionpool.impl.CountingConnectionPoolMonitor  - Reactivating myhost

然后我的程序(实际上是titan图)放弃了:

Then my program (titan graph actually) gave up with:

com.thinkaurelius.titan.diskstorage.TemporaryStorageException: Temporary failure in storage backend

在此期间我一直连接到 / usr / bin / cassandra-cli 并可以成功执行 show keyspaces;

During all this time I was connected to /usr/bin/cassandra-cli and could successfully execute show keyspaces;.

然后我决定重新开始;删除键空间。那就是现在挂了几个小时的地方。它也不响应ctrl-c。同时,我可以通过ssh登录,连接cassandra-cli并运行 show keyspaces; 。键空间仍然存在。另外,我的Java应用可以访问该数据存储,但它是只读的。读取成功,但是写入失败。只是在编写时从泰坦图形库中获得超时:

Then I decided to start over; drop the keyspace. That's where it hangs now, for hours. It doesn't respond to ctrl-c either. Meanwhile I'm able to log in by ssh, connect with cassandra-cli, and run show keyspaces;. The keyspace is still there. Also, my Java app can access that data store, but it's read only. Reading succeeds, but writes fail. It's just a timeout I get from the titan graph library when writing:

com.thinkaurelius.titan.core.TitanException: ID renewal thread on partition [2] did not complete in time. [60007 ms]

我可以运行任何命令以查看发生了什么情况?我应该报告错误吗?

Any commands I could run to see what's going on? Should I report a bug?

推荐答案

如果您在cassandra.yaml中启用了auto_snapshot(默认情况下处于启用状态),那么Cassandra将在删除快照之前对其进行快照。键空间。如果您没有正确设置JNA,有时可能会导致问题,因此我将首先进行检查。

If you have auto_snapshot enabled in cassandra.yaml (it's enabled by default), then Cassandra will take a snapshot before dropping the keyspace. If you don't have JNA set up properly, this can sometimes cause problems, so I would check that first.

这篇关于放置键空间挂起的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆