2013-02-15 18 views
4

我認爲這很簡單。我猜不會。Cassandra 1.2使用/ var/lib/casssandra/data的符號鏈接

我必須安裝在/root/storage外部硬盤驅動器 - 確定
我搬離/var/lib/cassandra/數據目錄/root/storage - OK
我再創作出來的/var/lib/cassandra符號鏈接指向所在目錄,現在.... .so ...... ln -s /root/storage/data /var/lib/cassandra - 好吧

現在我無法啓動cassandra了。我在/var/log/cassandra/system.log收到此錯誤:

INFO [主] 2013年2月15日10:08:36329 CacheService.java(166) 調度排高速緩存保存到各自是0秒(要保存所有鍵)。

ERROR [主要] 2013年2月15日10:08:36366 FileUtils.java(線373) 停止gossiper和RPC服務器ERROR [主要] 2013年2月15日 10:08:36367 CassandraDaemon。 java(第387行)遇到異常 啓動期間java.lang.IllegalStateException:沒有配置後臺程序 at org.apache.cassandra.service.StorageService.stopRPCServer(StorageService.java:314) at org.apache.cassandra.io.util .FileUtils.handleFSError(FileUtils.java:375) at org.apache.cassandra.db.Directories。(Directories.java:113) at org.apache.cassandra.db.Directories.create(Directories.java:91) at org.apache.cassandra.db.ColumnFamilyStore.scrubDataDir ectories(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) [根@卡桑德拉-NEW6存儲]#VI /usr/share/cassandra/default.conf/cassandra.yaml

該目錄的權限完全相同。所有文件permissiosn都是一樣的。任何想法,將不勝感激。

當我擺脫了sym鏈接並移回數據目錄時,一切都恢復正常。

+1

不應將符號鏈接指向/ root/storage目錄而不是/ root/storage/data目錄? – 2013-02-15 23:11:58

+0

我不這麼認爲。我將數據目錄本身移出/ var/lib/cassandra並移至/ root/storage /。我相信這個符號鏈接將會是ln -s/root/storage/data/var/lib/cassandra – 2013-02-18 13:24:28

回答

3

您可以通過更改data_file_directories參數來更改Cassandra在cassandra.yaml文件中查找數據目錄的位置,而不是創建sym鏈接。

+0

更改我的cassandra.yaml文件中的data_file_directories參數,並且在system.log和cassandra.log中仍然收到相同的錯誤,請參閱下面的輸出。 – 2013-02-18 13:04:43

+0

錯誤08:00:51,396停止閒話和RPC服務器 錯誤08:00:51,397啓動期間遇到的異常 java.lang.IllegalStateException:沒有配置的守護進程 – 2013-02-18 13:10:52