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.