With a very small amount of memory, the Cassandra process may be getting
killed by the Linux OOM killer, which should result in a log message to the
kernel logs. See
http://stackoverflow.com/questions/624857/finding-which-process-was-killed-by-linux-oom-killerto
locate the error if it exists.

On Fri, Dec 24, 2010 at 6:46 PM, Dan Hendry <dan.hendry.j...@gmail.com>wrote:

> One last clarification given you are running with -f, “fully die”=return to
> command prompt with no action on your part? If you ctrl-c from Cassandra
> when running in foreground mode (ie with –f), the process WILL be killed.
> Try running in background mode (without the –f).
>
>
>
> Removing the contents of /var/lib/Cassandra/ and using the default
> Cassandra.yaml and Cassandra-env.sh is effectively the same as a complete
> reset. You can also just delete then re-un-tar the provided tarball.
>
>
>
> Given the limited amount of ram on a micro instance, you might try using
> JNA (download from
> https://jna.dev.java.net/servlets/ProjectDocumentList?folderID=12329&expandFolder=12329&folderID=0and
>  put the jar in cassandras lib directory, see the
> https://issues.apache.org/jira/browse/CASSANDRA-1214) or setting
> disk_access_mode: standard in cassandra.yaml.
>
>
>
> Other than that, I am out of ideas: perhaps somebody else can comment. I
> have set up Cassandra 0.7 RC2 on various EC2 ubuntu 10.10 instances with no
> issue (although not a micro in quite some time). Having problems with a
> stock ubuntu image, and the provided Cassandra tarball and with no tinkering
> with the cassandra or system settings is very strange. Again if worse comes
> to worse, start with a fresh m1.small instance; it takes me less that a ½
> hour to be up and running from scratch.
>
>
>
> Dan
>
>
>
> *From:* Alex Quan [mailto:alex.q...@tinkur.com]
> *Sent:* December-24-10 17:44
> *To:* user@cassandra.apache.org
> *Subject:* Re: Having trouble getting cassandra to stay up
>
>
>
> I am running the bin/cassandra with the -f option and it does seem to fully
> die and not just stalling.
>
> I have also tried using the cassandra-cli to create keyspace and it works
> for a little bit and then will die slightly after accepting the request the
> vmstat after it dies is as follows:
>
>
> procs -----------memory---------- ---swap-- -----io---- -system--
> ----cpu----
>  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id
> wa
>  0  0      0 311240    424  23356    0    0    14     4   13    2  0  0 99
> 0
>
> I also tried the cassandra-cli creating keyspace after I deleted all the
> content of cassandra/data and cassandra/commitlog and it still is dying
> almost immediately after the keyspace creation I am not sure why this is the
> case. Is there a way to fully remove cassandra and start off with a fully
> fresh copy?
>
> Thanks
>
> Alex
>
> On Fri, Dec 24, 2010 at 1:42 PM, Dan Hendry <dan.hendry.j...@gmail.com>
> wrote:
>
> Hum, very strange.
>
>
>
> More what I was trying to get at was: did the process truly die or was it
> just non-responsive and looking like it was dead? It would be very strange
> if the actual process was dying without any warnings in the logs. Presumably
> you are running bin/cassandra *without* the -f option? What is the output of
> top/vmstat on the dead node after Cassandra has 'died'? Sorry I was not
> clear on this initially.
>
> I have no experience with pycassa but you might want to try using the
> Cassandra CLI to create keyspaces and column families to rule out some sort
> of client weirdness. Also, you haven't made any changes to cassandra-env.sh
> have you? EC2 micros have a very limited amount of ram. I have also seen
> their CPU bursting cause problems but that does not seem to be the issue
> here. I might also suggest you try a m1.small instead just to be safe; they
> are still pretty cheap when you run then as spot-instances.
>
>
>
> As a last ditch effort (given that this is a test cluster), you can delete
> the contents of /var/lib/cassandra/data/*. /var/lib/cassandra/commitlog/* to
> effectively reset your nodes.
>
>
>
> On Fri, Dec 24, 2010 at 12:48 PM, Alex Quan <alex.q...@tinkur.com> wrote:
>
> Sorry but I am not sure how to answer all the question that you have posed
> since a lot of the stuff I am working with is quite new to me and I haven't
> use many of the tools that are talked about but I will try my best to answer
> the question to the best of my knowledge. I am trying to get the cassandra
> to run between 2 nodes that are both Amazon's ec2 micro instances, I believe
> they are using a 64 bit linux ubuntu 10.01 using java version 1.6.0_23. When
> I said killed it was what was outputted into the console when the process
> died so I am not sure what that exactly means. Here is some of the info
> before cassandra went down:
>
> ring:
>
> Address         Status State   Load            Owns
> Token
>
> 111232248257764777335763873822010980488
> 10.127.155.205  Up     Normal  85.17 KB        59.06%
> 41570168072350555868554892080805525145
> 10.122.123.210  Up     Normal  91.1 KB         40.94%
> 111232248257764777335763873822010980488
>
> vmstat before cassandra is up:
>
> procs -----------memory---------- ---swap-- -----io---- -system--
> ----cpu----
>  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id
> wa
>  0  0      0 328196    632  13936    0    0    12     4   13    1  0  0 99
> 0
>
> vmstat after cassandra is up:
>
> procs -----------memory---------- ---swap-- -----io---- -system--
> ----cpu----
>  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id
> wa
>  0  2      0   5660    116  10312    0    0    12     4   13    1  0  0 99
> 0
>
> Then after I run a line like sys.create_keyspace('testing', 1) in pycassa
> with the connections setup to point to my machine I get the following error:
>
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File
> "/usr/local/lib/python2.6/dist-packages/pycassa-1.0.2-py2.6.egg/pycassa/system_manager.py",
> line 365, in drop_keyspace
>     schema_version = self._conn.system_drop_keyspace(keyspace)
>   File
> "/usr/local/lib/python2.6/dist-packages/pycassa-1.0.2-py2.6.egg/pycassa/cassandra/Cassandra.py",
> line 1255, in system_drop_keyspace
>     return self.recv_system_drop_keyspace()
>   File
> "/usr/local/lib/python2.6/dist-packages/pycassa-1.0.2-py2.6.egg/pycassa/cassandra/Cassandra.py",
> line 1266, in recv_system_drop_keyspace
>     (fname, mtype, rseqid) = self._iprot.readMessageBegin()
>   File
> "/usr/local/lib/python2.6/dist-packages/thrift05-0.5.0-py2.6-linux-x86_64.egg/thrift/protocol/TBinaryProtocol.py",
> line 126, in readMessageBegin
>     sz = self.readI32()
>   File
> "/usr/local/lib/python2.6/dist-packages/thrift05-0.5.0-py2.6-linux-x86_64.egg/thrift/protocol/TBinaryProtocol.py",
> line 203, in readI32
>     buff = self.trans.readAll(4)
>   File
> "/usr/local/lib/python2.6/dist-packages/thrift05-0.5.0-py2.6-linux-x86_64.egg/thrift/transport/TTransport.py",
> line 58, in readAll
>     chunk = self.read(sz-have)
>   File
> "/usr/local/lib/python2.6/dist-packages/thrift05-0.5.0-py2.6-linux-x86_64.egg/thrift/transport/TTransport.py",
> line 272, in read
>     self.readFrame()
>   File
> "/usr/local/lib/python2.6/dist-packages/thrift05-0.5.0-py2.6-linux-x86_64.egg/thrift/transport/TTransport.py",
> line 276, in readFrame
>     buff = self.__trans.readAll(4)
>   File
> "/usr/local/lib/python2.6/dist-packages/thrift05-0.5.0-py2.6-linux-x86_64.egg/thrift/transport/TTransport.py",
> line 58, in readAll
>     chunk = self.read(sz-have)
>   File
> "/usr/local/lib/python2.6/dist-packages/thrift05-0.5.0-py2.6-linux-x86_64.egg/thrift/transport/TSocket.py",
> line 108, in read
>     raise TTransportException(type=TTransportException.END_OF_FILE,
> message='TSocket read 0 bytes')
> thrift.transport.TTransport.TTransportException: TSocket read 0 bytes
>
> and then cassandra on the machine dies, here is the log some of the log of
> the machine that died:
>
>  INFO [FlushWriter:1] 2010-12-24 03:24:01,999 Memtable.java (line 162)
> Completed flushing /var/lib/cassandra/data/system/LocationInfo-e-24-Data.db
> (301 bytes)
>  INFO [main] 2010-12-24 03:24:02,003 Mx4jTool.java (line 73) Will not load
> MX4J, mx4j-tools.jar is not in the classpath
>  INFO [main] 2010-12-24 03:24:02,048 CassandraDaemon.java (line 77) Binding
> thrift service to /0.0.0.0:9160
>  INFO [main] 2010-12-24 03:24:02,050 CassandraDaemon.java (line 91) Using
> TFramedTransport with a max frame size of 15728640 bytes.
>  INFO [main] 2010-12-24 03:24:02,053 CassandraDaemon.java (line 119)
> Listening for thrift clients...
>  INFO [MigrationStage:1] 2010-12-24 03:26:42,226 ColumnFamilyStore.java
> (line 639) switching in a fresh Memtable for Migrations at
> CommitLogContext(file='/var/lib/cassandra/commitlog/CommitLog-1293161040907.log',
> position=10873)
>  INFO [MigrationStage:1] 2010-12-24 03:26:42,226 ColumnFamilyStore.java
> (line 943) Enqueuing flush of memtable-migrati...@948345082(5902 bytes, 1
> operations)
>  INFO [FlushWriter:1] 2010-12-24 03:26:42,226 Memtable.java (line 155)
> Writing memtable-migrati...@948345082(5902 bytes, 1 operations)
>  INFO [MigrationStage:1] 2010-12-24 03:26:42,238 ColumnFamilyStore.java
> (line 639) switching in a fresh Memtable for Schema at
> CommitLogContext(file='/var/lib/cassandra/commitlog/CommitLog-1293161040907.log',
> position=10873)
>  INFO [MigrationStage:1] 2010-12-24 03:26:42,238 ColumnFamilyStore.java
> (line 943) Enqueuing flush of memtable-sch...@212165140(2194 bytes, 3
> operations)
>  INFO [FlushWriter:1] 2010-12-24 03:26:45,351 Memtable.java (line 162)
> Completed flushing /var/lib/cassandra/data/system/Migrations-e-11-Data.db
> (6035 bytes)
>  INFO [FlushWriter:1] 2010-12-24 03:26:45,531 Memtable.java (line 155)
> Writing memtable-sch...@212165140(2194 bytes, 3 operations)
>
> and the log on the machine that stays up:
>
> ERROR [ReadStage:4] 2010-12-24 03:24:01,979 AbstractCassandraDaemon.java
> (line 90) Fatal exception in thread Thread[ReadStage:4,5,main]
> org.apache.avro.AvroTypeException: Found
> {"type":"record","name":"CfDef","namespace":"org.apache.cassandra.avro","fields":[{"name":"keyspace","type":"string"},{"name":"name","type":"string"},{"name":"column_type","type":["string","null"]},{"name":"comparator_type","type":["string","null"]},{"name":"subcomparator_type","type":["string","null"]},{"name":"comment","type":["string","null"]},{"name":"row_cache_size","type":["double","null"]},{"name":"key_cache_size","type":["double","null"]},{"name":"read_repair_chance","type":["double","null"]},{"name":"gc_grace_seconds","type":["int","null"]},{"name":"default_validation_class","type":["null","string"],"default":null},{"name":"min_compaction_threshold","type":["null","int"],"default":null},{"name":"max_compaction_threshold","type":["null","int"],"default":null},{"name":"row_cache_save_period_in_seconds","type":["int","null"],"default":0},{"name":"key_cache_save_period_in_seconds","type":["int","null"],"default":3600},{"name":"memtable_flush_after_mins","type":["int","null"],"default":60},{"name":"memtable_throughput_in_mb","type":["null","int"],"default":null},{"name":"memtable_operations_in_millions","type":["null","double"],"default":null},{"name":"id","type":["int","null"]},{"name":"column_metadata","type":[{"type":"array","items":{"type":"record","name":"ColumnDef","fields":[{"name":"name","type":"bytes"},{"name":"validation_class","type":"string"},{"name":"index_type","type":[{"type":"enum","name":"IndexType","symbols":["KEYS"],"aliases":["org.apache.cassandra.config.avro.IndexType"]},"null"]},{"name":"index_name","type":["string","null"]}]}},"null"]}]},
> expecting
> {"type":"record","name":"CfDef","namespace":"org.apache.cassandra.avro","fields":[{"name":"keyspace","type":"string"},{"name":"name","type":"string"},{"name":"column_type","type":["string","null"]},{"name":"comparator_type","type":["string","null"]},{"name":"subcomparator_type","type":["string","null"]},{"name":"comment","type":["string","null"]},{"name":"row_cache_size","type":["double","null"]},{"name":"key_cache_size","type":["double","null"]},{"name":"read_repair_chance","type":["double","null"]},{"name":"replicate_on_write","type":["boolean","null"]},{"name":"gc_grace_seconds","type":["int","null"]},{"name":"default_validation_class","type":["null","string"],"default":null},{"name":"min_compaction_threshold","type":["null","int"],"default":null},{"name":"max_compaction_threshold","type":["null","int"],"default":null},{"name":"row_cache_save_period_in_seconds","type":["int","null"],"default":0},{"name":"key_cache_save_period_in_seconds","type":["int","null"],"default":3600},{"name":"memtable_flush_after_mins","type":["int","null"],"default":60},{"name":"memtable_throughput_in_mb","type":["null","int"],"default":null},{"name":"memtable_operations_in_millions","type":["null","double"],"default":null},{"name":"id","type":["int","null"]},{"name":"column_metadata","type":[{"type":"array","items":{"type":"record","name":"ColumnDef","fields":[{"name":"name","type":"bytes"},{"name":"validation_class","type":"string"},{"name":"index_type","type":[{"type":"enum","name":"IndexType","symbols":["KEYS"],"aliases":["org.apache.cassandra.config.avro.IndexType"]},"null"]},{"name":"index_name","type":["string","null"]}],"aliases":["org.apache.cassandra.config.avro.ColumnDef"]}},"null"]}],"aliases":["org.apache.cassandra.config.avro.CfDef"]}
>     at
> org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:212)
>     at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)
>     at
> org.apache.avro.io.ResolvingDecoder.readFieldOrder(ResolvingDecoder.java:121)
>     at
> org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:138)
>     at
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:114)
>     at
> org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:142)
>     at
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:114)
>     at
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:118)
>     at
> org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:142)
>     at
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:114)
>     at
> org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:105)
>     at
> org.apache.cassandra.io.SerDeUtils.deserializeWithSchema(SerDeUtils.java:98)
>     at
> org.apache.cassandra.db.migration.Migration.deserialize(Migration.java:274)
>     at
> org.apache.cassandra.db.DefinitionsUpdateResponseVerbHandler.doVerb(DefinitionsUpdateResponseVerbHandler.java:56)
>     at
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:63)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:662)
>  INFO [GossipStage:1] 2010-12-24 03:24:02,151 Gossiper.java (line 583) Node
> /10.127.155.205 has restarted, now UP again
>  INFO [GossipStage:1] 2010-12-24 03:24:02,151 StorageService.java (line
> 670) Node /10.127.155.205 state jump to normal
>  INFO [HintedHandoff:1] 2010-12-24 03:24:02,151 HintedHandOffManager.java
> (line 191) Started hinted handoff for endpoint /10.127.155.205
>  INFO [HintedHandoff:1] 2010-12-24 03:24:02,152 HintedHandOffManager.java
> (line 247) Finished hinted handoff of 0 rows to endpoint /10.127.155.205
>  INFO [WRITE-/10.127.155.205] 2010-12-24 03:26:47,789
> OutboundTcpConnection.java (line 115) error writing to /10.127.155.205
>  INFO [ScheduledTasks:1] 2010-12-24 03:26:58,899 Gossiper.java (line 195)
> InetAddress /10.127.155.205 is now dead.
>
> The ring output on my node that stays up:
>
> Address         Status State   Load            Owns
> Token
>
> 111232248257764777335763873822010980488
> 10.127.155.205  Down   Normal  85.17 KB        59.06%
> 41570168072350555868554892080805525145
> 10.122.123.210  Up     Normal  91.1 KB         40.94%
> 111232248257764777335763873822010980488
>
> I am not sure how to use the jmx tools to connect to these machines so I
> can't really answer that but hopefully this is enough information to
> diagnose my problem, thanks
>
> Alex
>
>
>
> On Thu, Dec 23, 2010 at 4:35 PM, Dan Hendry <dan.hendry.j...@gmail.com>
> wrote:
>
> Your details are rather vague, what do you mean by killed? Is the Cassandra
> java process still running? Any other warning or error log messages (from
> either node)? Could you provide the last few Cassandra log lines from each
> machine? Can you connect to the node via JMX? What is the output of nodetool
> ring from the second node (which is presumably still alive)? Is there any
> unusual system activity: high cpu usage, low cpu usage, problems with disk
> IO (can be checked with vmstat).
>
>
>
> Can you provide any further system information? Linux/windows, java
> version, 32/64 bit, amount of ram?
>
>
>
> On Thu, Dec 23, 2010 at 1:42 PM, Alex Quan <alex.q...@tinkur.com> wrote:
>
> Hi,
>
> I am a newbie to cassandra and am using cassandra RC 2. I initially have
> cassndra working on one node and was able to create keyspace, column
> families and populate the database fine. I tried adding a second node by
> changing the seed to point to another node and setting listen_address and
> rpc_address to blank. I then started up the second node and it seems to have
> connected fine using the node tool but after that I couldn't get it to
> accept any commands and whenever I tried to make a new keyspace or column
> family it would kill my initial node after a message like this:
>
>  INFO 18:19:49,335 switching in a fresh Memtable for Schema at
> CommitLogContext(file='/var/lib/cassandra/commitlog/CommitLog-1293127746481.log',
> position=9143)
>  INFO 18:19:49,335 Enqueuing flush of memtable-sch...@1358138608(2410
> bytes, 5 operations)
> Killed
>
> and the next few time I start up the server a similar would pop up until I
> am guessing all the stuff is flushed out then it would start fine until I
> tried to add anything to it. I tried changing back the yaml file back to the
> original setup and this still happens. I don't know what to try to get it to
> work properly, if you guys can help I would be really grateful
>
> Alex
>
>
>
>
>
>
>
>
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 9.0.872 / Virus Database: 271.1.1/3335 - Release Date: 12/24/10
> 02:34:00
>

Reply via email to