Zahra Hosseini
Zahra Hosseini

Reputation: 371

cassandra connection error : Could not connect to localhost:9160

my cassandra was working well but suddenly it stop working! when i use cqlsh command i get this error: connection error : Could not connect to localhost:9160 and in output.log file i seeing this :

    Service exit with a return value of 1
  OpenJDK Client VM warning: Insufficient space for shared memory file:
  /tmp/hsperfdata_cassandra/10963
  Try using the -Djava.io.tmpdir= option to select an alternate temp location.

 INFO 12:23:31,307 Logging initialized
 log4j:ERROR Failed to flush writer,
java.io.IOException: No space left on device
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:297)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:220)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:290)
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:294)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:140)
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
    at org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:59)
    at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:324)
    at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:276)
    at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
    at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
    at      org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
    at org.apache.log4j.Category.callAppenders(Category.java:206)
    at org.apache.log4j.Category.forcedLog(Category.java:391)
    at org.apache.log4j.Category.info(Category.java:666)
    at org.apache.cassandra.service.CassandraDaemon.initLog4j(CassandraDaemon.java:118)
    at org.apache.cassandra.service.CassandraDaemon.<clinit>(CassandraDaemon.java:65)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
    at java.lang.Class.newInstance0(Class.java:374)
    at java.lang.Class.newInstance(Class.java:327)
    at org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:190)
 INFO 12:23:31,332 32bit JVM detected.  It is recommended to run Cassandra on a 64bit     JVM for better performance.
INFO 12:23:31,335 JVM vendor/version: OpenJDK Client VM/1.6.0_27
WARN 12:23:31,335 OpenJDK is not recommended. Please upgrade to the newest Oracle Java release
INFO 12:23:31,335 Heap size: 252641280/253689856
INFO 12:23:31,335 Classpath: /usr/share/cassandra/lib/antlr-3.2.jar:/usr/share/cassandra/lib/avro-1.4.0-fixes.jar:/usr/share/cassandra/lib/avro-1.4.0-sources-fixes.jar$
INFO 12:23:31,691 JNA mlockall successful
 INFO 12:23:31,715 Loading settings from filService exit with a return value of 1
 OpenJDK Client VM warning: Insufficient space for shared memory file:

can somebody help me? :(

Upvotes: 0

Views: 2893

Answers (1)

Vorsprung
Vorsprung

Reputation: 34297

The /tmp directory on your host isn't large enough for the temp files that cassandra wishes to make. The temp files are related to the amount of data in the system. As your database is larger now than it was in the past, it started before but it does not start now.

Check the status of the /tmp directory with df. Here is my system

$ df /tmp
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda6      570881944 350121276 191761552  65% /

To alter the place that is used for these temp files like the error says set java.io.tmpdir On my system (Ubuntu Linux) this can be done by editing the end of the file /etc/cassandra/cassandra-env.sh

JVM_OPTS="$JVM_OPTS $JVM_EXTRA_OPTS -Djava.io.tmpdir=/opt"

Ensure that the new temp directory has sufficient space and that the permissions are correct, probably allowing read/write for the cassandra user would be enough

Upvotes: 1

Related Questions