Question & Answer
Question
After updating RHE Linux, why doesn't Apache Cassandra start up?
Cause
No 'JVM' options are being passed to the 'cassandra-env.sh' script, as the following log stack shows:
WARN [main] 2019-07-09 13:15:37,751 StartupChecks.java:157 - JMX is not enabled to receive remote connections. Please see cassandra-env.sh for more info.
WARN [main] 2019-07-09 13:15:37,752 StartupChecks.java:198 - Non-Oracle JVM detected. Some features, such as immediate unmap of compacted SSTables, may not work as intended
INFO [main] 2019-07-09 13:15:37,753 SigarLibrary.java:44 - Initializing SIGAR library
WARN [main] 2019-07-09 13:15:37,762 SigarLibrary.java:174 - Cassandra server running in degraded mode. Is swap disabled? : false, Address space adequate? : true, nofile limit adequate? : true, nproc limit adequate? : true
INFO [main] 2019-07-09 13:15:37,873 QueryProcessor.java:115 - Initialized prepared statement caches with 32 MB (native) and 32 MB (Thrift)
INFO [main] 2019-07-09 13:15:38,386 ColumnFamilyStore.java:406 - Initializing system.IndexInfo
INFO [main] 2019-07-09 13:15:39,852 ColumnFamilyStore.java:406 - Initializing system.batches
INFO [main] 2019-07-09 13:15:39,868 ColumnFamilyStore.java:406 - Initializing system.paxos
INFO [main] 2019-07-09 13:15:39,885 ColumnFamilyStore.java:406 - Initializing system.local
INFO [SSTableBatchOpen:1] 2019-07-09 13:15:39,909 BufferPool.java:230 - Global buffer pool is enabled, when pool is exhausted (max is 512.000MiB) it will allocate on heap
ERROR [SSTableBatchOpen:1] 2019-07-09 13:15:40,109 DebuggableThreadPoolExecutor.java:239 - Error in ThreadPoolExecutor
java.lang.NoClassDefFoundError: com.sun.jna.Native (initialization failure)
at java.lang.J9VMInternals.initializationAlreadyFailed(J9VMInternals.java:91) ~[na:1.8.0-internal]
at org.apache.cassandra.utils.memory.MemoryUtil.allocate(MemoryUtil.java:94) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.util.Memory.<init>(Memory.java:68) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.util.Memory.allocate(Memory.java:91) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.sstable.IndexSummary$IndexSummarySerializer.deserialize(IndexSummary.java:330) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.sstable.format.SSTableReader.loadSummary(SSTableReader.java:885) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:764) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:732) ~[apache-cassandra-3.10.jar:3.10]
WARN [main] 2019-07-09 13:15:37,752 StartupChecks.java:198 - Non-Oracle JVM detected. Some features, such as immediate unmap of compacted SSTables, may not work as intended
INFO [main] 2019-07-09 13:15:37,753 SigarLibrary.java:44 - Initializing SIGAR library
WARN [main] 2019-07-09 13:15:37,762 SigarLibrary.java:174 - Cassandra server running in degraded mode. Is swap disabled? : false, Address space adequate? : true, nofile limit adequate? : true, nproc limit adequate? : true
INFO [main] 2019-07-09 13:15:37,873 QueryProcessor.java:115 - Initialized prepared statement caches with 32 MB (native) and 32 MB (Thrift)
INFO [main] 2019-07-09 13:15:38,386 ColumnFamilyStore.java:406 - Initializing system.IndexInfo
INFO [main] 2019-07-09 13:15:39,852 ColumnFamilyStore.java:406 - Initializing system.batches
INFO [main] 2019-07-09 13:15:39,868 ColumnFamilyStore.java:406 - Initializing system.paxos
INFO [main] 2019-07-09 13:15:39,885 ColumnFamilyStore.java:406 - Initializing system.local
INFO [SSTableBatchOpen:1] 2019-07-09 13:15:39,909 BufferPool.java:230 - Global buffer pool is enabled, when pool is exhausted (max is 512.000MiB) it will allocate on heap
ERROR [SSTableBatchOpen:1] 2019-07-09 13:15:40,109 DebuggableThreadPoolExecutor.java:239 - Error in ThreadPoolExecutor
java.lang.NoClassDefFoundError: com.sun.jna.Native (initialization failure)
at java.lang.J9VMInternals.initializationAlreadyFailed(J9VMInternals.java:91) ~[na:1.8.0-internal]
at org.apache.cassandra.utils.memory.MemoryUtil.allocate(MemoryUtil.java:94) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.util.Memory.<init>(Memory.java:68) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.util.Memory.allocate(Memory.java:91) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.sstable.IndexSummary$IndexSummarySerializer.deserialize(IndexSummary.java:330) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.sstable.format.SSTableReader.loadSummary(SSTableReader.java:885) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:764) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:732) ~[apache-cassandra-3.10.jar:3.10]
Answer
We need to pass the 'JVM_OPTS' to the 'cassandra-env.sh' script by setting the environment with:
export JVM_OPTS="$JVM_OPTS -Djna.tmpdir=/var/lib/cassandra/tmp"
and defining directory /var/lib/cassandra/tmp
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSJQQ3","label":"IBM Operations Analytics - Predictive Insights"},"Component":"Apache Cassandra","Platform":[{"code":"PF043","label":"Red Hat"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB77","label":"Automation Platform"}}]
Historical Number
TS002456844
Was this topic helpful?
Document Information
Modified date:
30 July 2019
UID
ibm10961316