ごく最近、JDK 9とApache Cassandra=を公式サイトからインストールしました。しかし、今、フォアグラウンドでcassandra=を開始すると、このメッセージが表示されます。
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.
これまでのところ、これに対する解決策は見つかりませんでした。 Java 9とCassandraはまだ互換性がありませんか?ここにその問題も記載されています #CASSANDRA-13107 =
しかし、「フラグを削除する」方法がわからないのですか?このフラグを上書きまたは削除できるのはどこですか?
私はまったく同じ問題を抱えていました: 開始できませんCassandra(CentOS7上のシングルノードクラスター)
それがオプションである場合、Java 9の代わりに8を使用することが、問題を解決する最も簡単な方法です。
@Martin Matak 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**
次のenv変数を設定すると、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
質問への解決策
この例外の理由
Cassandra-Confファイルの変更(/opt/Apache-cassandra-3.11.2/conf/cassandra-env.sh)
4。より高いJDKバージョンを使用する場合は、OSに基づいてシステムパス変数を更新します。
あります jvm.options
それを設定するconf
ディレクトリ内:
Jay's answer から、macOSでHomebrewを使用してインストールした場合:ファイルはlocal/etc/cassandra/jvm.options
にあります。