Ne peut pas exécuter Cassandra sur Ubuntu

J’ai installé Cassandra sur Ubuntu 12.04.

Mais quand je le lance, l’erreur suivante se produit:

cassandra -f xss = -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1493M -Xmx1493M -Xmn373M -Xss160k Segmentation fault (core dumped)

Je l’ai fait pour le résoudre mais rien ne se passe: dans /etc/conf/cassandra-env.sh j’ai commenté les lignes suivantes:

 JVM_OPTS="$JVM_OPTS -XX:+HeapDumpOnOutOfMemoryError" # set jvm HeapDumpPath with CASSANDRA_HEAPDUMP_DIR if [ "x$CASSANDRA_HEAPDUMP_DIR" != "x" ]; then JVM_OPTS="$JVM_OPTS -XX:HeapDumpPath=$CASSANDRA_HEAPDUMP_DIR/cassandra-`date +%s`-pid$$.hprof" fi 

et exécuté les commandes suivantes sur le shell en tant que root:

unset IBM_HEAPDUMP
unset IBM_HEAP_DUMP

Comment dois-je le résoudre?

J’ai eu le même problème et j’ai trouvé ce qui suit:

 $ cassandra -f xss = -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms826M -Xmx826M -Xmn100M -XX:+HeapDumpOnOutOfMemoryError -Xss180k Segmentation fault (core dumped) 

ok, que diriez-vous de:

 $ sudo cassandra -f xss = -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms826M -Xmx826M -Xmn100M -XX:+HeapDumpOnOutOfMemoryError -Xss180k 

..no erreur de segmentation cette fois, et peut-être que la partie ‘xss’ est juste un message de débogage obscur dans ce cas?

 $ ps -Af | grep cass ubuntu 5687 959 0 15:42 pts/0 00:00:00 grep --color=auto cass 

hmm, cependant, aucun processus n’a démarré.

Ce qui a fonctionné pour moi est:

 $ sudo /etc/init.d/cassandra start xss = -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms826M -Xmx826M -Xmn100M -XX:+HeapDumpOnOutOfMemoryError -Xss180k $ ps -Af | grep cass root 5789 1 0 15:45 ? 00:00:00 jsvc.exec -user cassandra -home [blah blah blah] org.apache.cassandra.thrift.CassandraDaemon 106 5791 5789 13 15:45 ? 00:00:06 jsvc.exec -user cassandra -home [blah blah blah] org.apache.cassandra.thrift.CassandraDaemon 

… mais je me rends compte que ça ne marche pas au premier plan comme cassandra -f est censé le faire.

J’ai finalement abandonné et recommencé, en évitant l’installation manuelle en démarrant simplement une instance EC2 de la communauté DataStax AMI: https://aws.amazon.com/amis/datastax-auto-clustering-ami-2-2

Mais … je viens de trouver ce qui ressemble à la vraie réponse ici: https://stackoverflow.com/a/12941854/202168

Voir ma réponse ici, https://stackoverflow.com/a/14447535/92463 qui décrit l’augmentation de la taille du segment de stack pour activer Cassandra sur OpenJDK.