2017-08-11 34 views
0

我在啓動cassandra時遇到問題。我正在使用Datastax版本。當我開始cassandra時,它正在關閉下面的問題。寫入提交日誌文件的問題cassandra

ERROR [main] 2017-08-10 20:42:04,999 CassandraDaemon.java:654 - Exception encountered during startup 
org.apache.cassandra.io.FSWriteError: java.nio.file.AccessDeniedException: C:\Program Files\DataStax Community\data\commitlog\CommitLog-5-1502421528137.log 
at org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:131) ~[apache-cassandra-2.2.8.jar:2.2.8] 
at org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:148) ~[apache-cassandra-2.2.8.jar:2.2.8] 
at org.apache.cassandra.db.commitlog.CommitLogSegmentManager.recycleSegment(CommitLogSegmentManager.java:365) ~[apache-cassandra-2.2.8.jar:2.2.8] 
at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:165) ~[apache-cassandra-2.2.8.jar:2.2.8] 
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:284) [apache-cassandra-2.2.8.jar:2.2.8] 
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:532) [apache-cassandra-2.2.8.jar:2.2.8] 
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:641) [apache-cassandra-2.2.8.jar:2.2.8] 
Caused by: java.nio.file.AccessDeniedException: C:\Program Files\DataStax Community\data\commitlog\CommitLog-5-1502421528137.log 
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83) ~[na:1.7.0_40] 
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) ~[na:1.7.0_40] 
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) ~[na:1.7.0_40] 
at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269) ~[na:1.7.0_40] 
at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103) ~[na:1.7.0_40] 
at java.nio.file.Files.delete(Files.java:1077) ~[na:1.7.0_40] 
at org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:125) ~[apache-cassandra-2.2.8.jar:2.2.8] 
... 6 common frames omitted 

我試圖保留對下面的文件夾的所有權限並重新啓動很多次。

C:\Program Files\DataStax Community\data 

但仍然出現相同的錯誤,我正在使用windows 10

請建議。

+0

您是否嘗試過從管理員啓動cassandra? – Sabik

回答

1

的一些想法去嘗試或查看:

  • 在後臺的任何防病毒掃描Windows需要設置排除你的數據目錄,也可以導致此
  • 這可能是心不是一個間歇性問題固定,因爲它不容易重現。 (CASSANDRA-9414)使用Windows的Cassandra用戶並不多,因此可能會有更多粗糙的邊緣。如果可能的話,你可能要考慮在Linux主機它獲取更多的測試/使用(不是最有用的答案,我知道)
    • 嘗試升級到最新版本或切換到Linux
  • 上檢查文件權限C:\Program Files\DataStax Community\data\commitlog\CommitLog-5-1502421528137.log。您可以更改該文件的權限或刪除該提交日誌並進行修復,以確保您沒有觸發任何不一致。
    • 要尋找的東西特別是擁有該文件的用戶。有很多像sstablesplit,sstablelevelreset,sstableexpiredblockers,sstablemetadata,sstable2json這樣的工具,它們將使用cassandra.yaml以客戶端模式運行cassandra。由於它具有重疊的數據和提交日誌位置,並且它會觸發內部寫入(特別是sstable活動表),所以最終可以使用任何用戶運行該工具來刷新提交日誌或創建新的sstable。如果該用戶與用於運行Cassandra的用戶不同,則可能導致類似的失敗。工具正在慢慢地被重寫,使得這個問題更少(即sstabledump,4.0 sstablemetadata),但是如果你使用這些工具這樣的問題是需要注意的。
+0

我嘗試了一些選項,提交日誌沒有被刪除..但我強制使用MCAFEE碎化選項和文件被刪除。但是,當Windows重新啓動時,它們會以新的時間戳創建,並且當我啓動cassandra時,它給了我同樣的問題。作爲最後的嘗試,我可能需要安裝新的cassandra版本,如果沒有,我必須在Linux中嘗試。 – user2883028

+0

Cassandra沒有權限寫入'C:\ Program Files \ DataStax Community \ data \ commitlog'嗎? –

+0

如前所述,我卸載了現有的datastax版本,並安裝了另一個datastax版本和不同的JDK,並且該組合運行良好。感謝大家的所有時間。 – user2883028