Cassandra 1.2 using a symlink for / var / lib / casssandra / data

I thought it would be easy. Probably not.

I have an external hard drive installed in /root/storage - OK
I moved the data directory from /var/lib/cassandra/ to /root/storage - OK
Then I created a symbolic link from /var/lib/cassandra indicating where the directory is now ..... so ...... ln -s /root/storage/data /var/lib/cassandra - OK

Now I can’t start the cassandra. I get this error in /var/log/cassandra/system.log :

INFO [main] 2013-02-15 10: 08: 36,329 CacheService.java (line 166) The planning of the line cache is saved up to every 0 seconds (saving all keys).

ERROR [main] 2013-02-15 10: 08: 36,366 FileUtils.java (line 373) Stop gossip and RPC server ERROR [main] 2013-02-15 10: 08: 36,367 CassandraDaemon.java (line 387) Collision excluded java.lang.IllegalStateException start time: no daemon configured on org.apache.cassandra.service.StorageService.stopRPCServer (StorageService.javahaps14) at org.apache.cassandra.io.util.FileUtils.handleFSError (FileUtils.java7575 ) in org.apache.cassandra.db.Directories. (References .java: 113) at org.apache.cassandra.db.Directories.create (Directories .java: 91) at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories (ColumnFamilyStore.java:403) on org.apache. cassandra.service. 413) [root @ cassandra-new6 storage] # vi /usr/share/cassandra/default.conf/cassandra.yaml

The permissions in this directory are exactly the same. All permissiosn files are the same too. Any ideas would be appreciated.

When I get rid of the sym link and move the data directory back, everything will work again.

+4
source share
2 answers

The simlink abstract is fixed in Cassandra 1.2.2. https://issues.apache.org/jira/browse/CASSANDRA-5185

+4
source

Instead of creating a sim link, you can change where Cassandra looks for the data directory in the cassandra.yaml file by changing the data_file_directories parameter.

+3
source

All Articles