我遇到了阻止我启动Cassandra守护程序的问题。
我正在使用Cassandra Community 2.1.4
我几个小时前创建了我的集群,它一直运行良好,直到我重新启动托管此节点的azure VM。 我的群集使用密码身份验证。
有什么想法吗?
编辑:我不知道它是否相关,但我尝试在重新启动之前删除键空间,但它失败了。 (不,我没有尝试删除system_auth键空间,以防你想知道)
Cassandra日志文件包含:
错误[MemtableFlushWriter:3] 2015-04-14 13:42:54,359 CassandraDaemon.java:223 - 线程中的异常 Thread [MemtableFlushWriter:3,5,main] java.lang.RuntimeException: java.io.FileNotFoundException: /var/lib/cassandra/data/system_auth/users-473588ad9c7938be8b59e06c10456ba0/system_auth-users-tmp-ka-2-Index.db (没有权限) 在org.apache.cassandra.io.util.SequentialWriter。(SequentialWriter.java:80) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在org.apache.cassandra.io.util.SequentialWriter.open(SequentialWriter.java:109) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在org.apache.cassandra.io.util.SequentialWriter.open(SequentialWriter.java:104) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在org.apache.cassandra.io.sstable.SSTableWriter $ IndexWriter。(SSTableWriter.java:598) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在org.apache.cassandra.io.sstable.SSTableWriter。(SSTableWriter.java:135) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在org.apache.cassandra.db.Memtable $ FlushRunnable.createFlushWriter(Memtable.java:404) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在org.apache.cassandra.db.Memtable $ FlushRunnable.writeSortedContents(Memtable.java:343) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在org.apache.cassandra.db.Memtable $ FlushRunnable.runMayThrow(Memtable.java:327) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在com.google.common.util.concurrent.MoreExecutors $ SameThreadExecutorService.execute(MoreExecutors.java:297) 〜[番石榴16.0.jar:NA] 在org.apache.cassandra.db.ColumnFamilyStore $ Flush.run(ColumnFamilyStore.java:1092) 〜[Apache的卡桑德拉-2.1.4.jar:2.1.4] 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 〜[NA:1.7.0_76] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615) 〜[NA:1.7.0_76] 在java.lang.Thread.run(Thread.java:745)〜[na:1.7.0_76]
EDIT2
前几行在日志文件中:
WARN [main] 2015-04-14 14:06:59,068 CommitLogReplayer.java:139 - 在提交日志/var/lib/cassandra/commitlog/CommitLog-4-1429010621980.log的第16位遇到错误的标题, CRC无效。该 段末端标记应为零。
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
java.io.FileNotFoundException:/var/lib/cassandra/data/system_auth/users-473588ad9c7938be8b59e06c10456ba0/system_auth-users-tmp-ka-2-Index.db(Permission denied)
这句话说,cassandra未经许可无法创建/var/lib/cassandra/data/system_auth/users-473588ad9c7938be8b59e06c10456ba0/system_auth-users-tmp-ka-2-Index.db
。检查子目录的所有者是否为cassandra
。如果不是,请将其分配给权限所有者cassandra
并重新启动cassandra。
chown -R cassandra:cassandra /var/lib/cassandra/data/system_auth