Très récemment, j'ai installé JDK 9 et Apache Cassandra à partir du site officiel. Mais maintenant, quand je commence cassandra au premier plan, je reçois ce message:
Apache-cassandra-3.11.1/bin$ ./cassandra -f
[0.000s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:/home/mmatak/monero/Apache-cassandra-3.11.1/logs/gc.log instead.
intx ThreadPriorityPolicy=42 is outside the allowed range [ 0 ... 1 ]
Improperly specified VM option 'ThreadPriorityPolicy=42'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Jusqu'à présent, je n'ai trouvé aucune solution pour cela. Est-il possible que Java 9 et Cassandra ne soient pas encore compatibles? Voici le problème mentionné également - # CASSANDRA-13107
Mais je ne suis pas sûr de savoir comment simplement "enlever le drapeau"? Où est-il possible de remplacer ou de supprimer ce drapeau?
J'ai eu exactement le même problème: Je ne peux pas démarrer Cassandra (cluster à noeud unique sur CentOS7)
Si c'est une option pour vous, utiliser Java 8 au lieu de 9 est le moyen le plus simple de résoudre le problème.
@Martin Matak Il suffit de commenter cette ligne dans le fichier conf/jvm.options
:
########################
# GENERAL JVM SETTINGS #
########################
# allows lowering thread priority without being root on linux - probably
# not necessary on Windows but doesn't harm anything.
# see http://tech.stolsvik.com/2010/01/linux-Java-thread-priorities-workaround.html
**#-XX:ThreadPriorityPolicy=42**
La définition des variables env suivantes a résolu le problème dans MAC
export Java8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
Solution à votre question
Raison de cette exception
Modification du fichier Cassandra-Conf (/opt/Apache-cassandra-3.11.2/conf/cassandra-env.sh)
4.Si vous souhaitez utiliser une version JDK supérieure, mettez à jour les variables de chemin d'accès système en fonction de votre système d'exploitation.
Il y a un jvm.options
dans votre répertoire conf
qui le définit: