Cassandra 1.2使用/ var / lib / cassandra / data的符号链接

时间:2013-02-15 21:28:00

标签: cassandra

我认为这很简单。我猜不会。

我在/root/storage安装了外置硬盘 - 确定
我将数据目录从/var/lib/cassandra/移到了/root/storage - 确定 然后我创建了一个符号链接,从/var/lib/cassandra指向目录所在的位置......所以...... ln -s /root/storage/data /var/lib/cassandra - 确定

现在我无法启动cassandra。我在/var/log/cassandra/system.log

中收到此错误
  

INFO [main] 2013-02-15 10:08:36,329 CacheService.java(第166行)   将行缓存保存到每0秒(保存所有密钥)。

     

ERROR [main] 2013-02-15 10:08:36,366 FileUtils.java(第373行)   停止gossiper和RPC服务器ERROR [主要] 2013-02-15   10:08:36,367 CassandraDaemon.java(第387行)遇到异常   在启动期间java.lang.IllegalStateException:没有配置的守护程序           在org.apache.cassandra.service.StorageService.stopRPCServer(StorageService.java:314)           at org.apache.cassandra.io.util.FileUtils.handleFSError(FileUtils.java:375)           在org.apache.cassandra.db.Directories。(Directories.java:113)           在org.apache.cassandra.db.Directories.create(Directories.java:91)           在org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories(ColumnFamilyStore.java:403)           在org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:174)           在org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:370)           在org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:413)   [root @cassandra-new6 storage] #vi   /usr/share/cassandra/default.conf/cassandra.yaml

此目录的权限完全相同。所有文件permissiosn也是一样的。任何想法都将不胜感激。

当我摆脱sym链接并将数据目录移回时,一切都会再次起作用。

2 个答案:

答案 0 :(得分:4)

符号链接回归在Cassandra 1.2.2中得到修复。 https://issues.apache.org/jira/browse/CASSANDRA-5185

答案 1 :(得分:3)

您可以通过更改data_file_directories参数来更改Cassandra在cassandra.yaml文件中查找数据目录的位置,而不是创建sym链接。