【发布时间】:2017-01-06 16:12:51
【问题描述】:
需要:在备用设备上创建键空间
问题:服务在启动时中止,并显示以下 dir-create 失败消息。
INFO [main] 2017-01-06 00:45:03,300 ViewManager.java:137 - Not submitting build tasks for views in keyspace system_schema as storage service is not initialized
ERROR [main] 2017-01-06 00:45:03,393 Directories.java:239 - Failed to create /var/lib/cassandra/data/opus/aa-15be7240d3db11e6ad0eed0a1d791016 directory
ERROR [main] 2017-01-06 00:45:03,397 DefaultFSErrorHandler.java:92 - Exiting forcefully due to file system exception on startup, disk failure policy "stop"
上下文:Cassandra 3.9 单节点ubuntu 16.04;目录权限如下。
01:52 opus/ cd /var/lib/cassandra/data
01:52 opus/ ls -l
total 24
drwxr-xr-x 3 cassandra cassandra 4096 Jan 6 00:41 opus
drwxr-xr-x 24 cassandra cassandra 4096 Jan 5 23:49 system
drwxr-xr-x 6 cassandra cassandra 4096 Jan 5 23:50 system_auth
drwxr-xr-x 5 cassandra cassandra 4096 Jan 5 23:50 system_distributed
drwxr-xr-x 12 cassandra cassandra 4096 Jan 5 23:50 system_schema
drwxr-xr-x 4 cassandra cassandra 4096 Jan 5 23:50 system_traces
01:52 opus/ cd opus
01:52 opus/ ls -l
total 4
drwxr-xr-x 3 cassandra cassandra 4096 Jan 6 00:41 aa-15be7240d3db11e6ad0eed0a1d791016
安装链接时
01:57 data/ ls -l
total 20
lrwxrwxrwx 1 root root 35 Jan 6 01:57 opus -> /media/opus/quantdrive/opus
步骤:
- cassandra 3.9 的原版安装;
- 在 cqlsh 中创建键空间
create keyspace opus with replication = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; - 创建表
use opus; create table aa(aa int, primary key(aa)); - 停止卡桑德拉
- 移动键空间目录
mv /var/lib/cassandra/data/opus /media/opus/quantdrive - 创建符号链接
ln -s /media/opus/quantdrive/opus /var/lib/cassandra/opus - 当目录已经存在时,使用创建目录启动 cassandra [FAILS AS ABOVE]
opus keyspace 目录的 perms 没有变化,我只是移动了它。当我将其移回时,cassandra 开始正常。
如果我在其他地方描述了我的问题的解决方案,或者如果我遗漏了明显的内容,我将不胜感激。
【问题讨论】: