Probléma: Nagyobb verziófrissítés után nem indul el a (DSE) Cassandra. A system.log-ban a következő hibaüzenet olvasható:
INFO 05:46:29,698 DseConfig.java:455 - Server ID:11-AA-22-BB-CC-33 Exception (java.lang.NoSuchMethodError) encountered during startup: com.google.common.util.concurrent.MoreExecutors.newDirectExecutorService()Lcom/google/common/util/concurrent/ListeningExecutorService; java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.newDirectExecutorService()Lcom/google/common/util/concurrent/ListeningExecutorService; at org.apache.cassandra.index.SecondaryIndexManager.<clinit>(SecondaryIndexManager.java:125) at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:388) at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:366) at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:582) at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:559) at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:431) at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:368) at org.apache.cassandra.db.Keyspace.open(Keyspace.java:159) at org.apache.cassandra.db.Keyspace.open(Keyspace.java:136) at org.apache.cassandra.db.Keyspace.openAndGetStore(Keyspace.java:189) at org.apache.cassandra.cql3.statements.UpdatesCollector.validateIndexedColumns(UpdatesCollector.java:90) at org.apache.cassandra.cql3.statements.ModificationStatement.getMutations(ModificationStatement.java:633) at org.apache.cassandra.cql3.statements.ModificationStatement.executeInternalWithoutCondition(ModificationStatement.java:577) at org.apache.cassandra.cql3.statements.ModificationStatement.executeInternal(ModificationStatement.java:572) at org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal(QueryProcessor.java:346) at com.datastax.bdp.server.DseDaemon.initSystemLocalCF(DseDaemon.java:595) at com.datastax.bdp.server.DseDaemon.preSetup(DseDaemon.java:677) at com.datastax.bdp.server.DseDaemon.setup(DseDaemon.java:468) at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:582) at com.datastax.bdp.DseModule.main(DseModule.java:91) ERROR 05:46:30,033 CassandraDaemon.java:678 - Exception encountered during startup java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.newDirectExecutorService()Lcom/google/common/util/concurrent/ListeningExecutorService; at org.apache.cassandra.index.SecondaryIndexManager.<clinit>(SecondaryIndexManager.java:125) at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:388) at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:366) at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:582) at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:559) at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:431) at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:368) at org.apache.cassandra.db.Keyspace.open(Keyspace.java:159) at org.apache.cassandra.db.Keyspace.open(Keyspace.java:136) at org.apache.cassandra.db.Keyspace.openAndGetStore(Keyspace.java:189) at org.apache.cassandra.cql3.statements.UpdatesCollector.validateIndexedColumns(UpdatesCollector.java:90) at org.apache.cassandra.cql3.statements.ModificationStatement.getMutations(ModificationStatement.java:633) at org.apache.cassandra.cql3.statements.ModificationStatement.executeInternalWithoutCondition(ModificationStatement.java:577) at org.apache.cassandra.cql3.statements.ModificationStatement.executeInternal(ModificationStatement.java:572) at org.apache.cassandra.cql3.QueryProcessor.executeOnceInternal(QueryProcessor.java:346) at com.datastax.bdp.server.DseDaemon.initSystemLocalCF(DseDaemon.java:595) at com.datastax.bdp.server.DseDaemon.preSetup(DseDaemon.java:677) at com.datastax.bdp.server.DseDaemon.setup(DseDaemon.java:468) at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:582) at com.datastax.bdp.DseModule.main(DseModule.java:91
Hasznos infó: Nem minden frissítés alkalmával és főleg nem állandóan jelentkezik a hiba. Nálunk 100+ frissítésből 2 alkalommal jelentkezett a hiba (nyilván egyszerre és a frissítések automatizálva vannak).
Megoldás: A /usr/share/dse
könyvtárban a frissítés során valamiért ott maradtak a régi Cassandra verzió állományai is. Ezt onnan látod, hogy ugyanabból a komponensből két verziót is látsz, pl.
-rwxr-xr-x 1 cassandra cassandra 445288 Jun 15 2018 antlr-2.7.7.jar -rwxr-xr-x 1 cassandra cassandra 1153819 May 9 2018 antlr-3.5.2.jar
Töröld a régebbi verziókat, indítsd el a Cassandrát. Nálunk megoldotta.