Baru-baru ini saya mencoba SSO menggunakan OpenID connect single sign-on plugin oleh Gluu. Salah satu prasyarat plugin adalah menginstal server Oxd dan menjalankannya di port 8099. Nah, instalasi server Oxd berjalan lancar, tetapi daemon gagal untuk memulai. Tutorial ini menjelaskan cara memperbaiki ‘Opsi VM yang tidak dikenal MaxMetaspaceSize ' kesalahan yang mencegah server oxd untuk memulai.
root@opidclient:~# /etc/init.d/oxd-server start oxd-server is already running ... PID: [1370]
Meskipun snapshot di atas mengatakan oxd-server
sudah dimulai, tapi tidak. Juga, tidak ada pesan kesalahan atau lebih dalam output standar dan juga dalam file log server oxd. Namun, saya dapat menemukan beberapa informasi tentang oxd-server
konfigurasi melalui '/etc/init.d/oxd-server status'
perintah.
root@opidclient:~# /etc/init.d/oxd-server status oxd server NOT running OXD_HOME = /opt/oxd-server OXD_BASE = /opt/oxd-server OXD_CONF = OXD_PID_FILE = /var/run/oxd-server.pid OXD_START = org.xdi.oxd.server.ServerLauncher OXD_LOGS = /var/log/oxd-server OXD_STATE = /opt/oxd-server/oxd-server.state CLASSPATH = JAVA = /usr/bin/java JAVA_OPTIONS = -server -Xms256m -Xmx512m -XX:MaxMetaspaceSize=256m -XX:+Disab leExplicitGC -Doxd.server.config=/etc/oxd/oxd-server/oxd-conf.json -Dlog4j.confi guration=/etc/oxd/oxd-server/log4j.xml -cp /opt/oxd-server/lib/bcprov-jdk15on-1. 54.jar:/opt/oxd-server/lib/oxd-server-jar-with-dependencies.jar -Doxd.logging.di r=/var/log/oxd-server -Doxd.home=/opt/oxd-server -Doxd.base=/opt/oxd-server -Dja va.io.tmpdir=/tmp OXD_ARGS = oxd-server.state=/opt/oxd-server/oxd-server.state RUN_CMD = /usr/bin/java -server -Xms256m -Xmx512m -XX:MaxMetaspaceSize=256m -XX:+DisableExplicitGC -Doxd.server.config=/etc/oxd/oxd-server/oxd-conf.json -Dlog4j.configuration=/etc/oxd/oxd-server/log4j.xml -cp /opt/oxd-server/lib/bcp rov-jdk15on-1.54.jar:/opt/oxd-server/lib/oxd-server-jar-with-dependencies.jar -D oxd.logging.dir=/var/log/oxd-server -Doxd.home=/opt/oxd-server -Doxd.base=/opt/o xd-server -Djava.io.tmpdir=/tmp org.xdi.oxd.server.ServerLauncher oxd-server.state=/opt/oxd-server/oxd-server.state
Dari output di atas, saya mengetahui perintah (RUN_CMD
) yang sebenarnya memulai oxd-server
daemon.
Saya baru saja menjalankan perintah dan menemukan masalah yang mencegah oxd-server
dari mulai. Berikut cuplikannya.
root@opidclient:~# /usr/bin/java -server -Xms256m -Xmx512m -XX:MaxMetaspaceSize=256m -XX:+DisableExplicitGC -Doxd.server.config=/etc/oxd/oxd-server/oxd-conf.json -Dlog4j.configuration=/etc/oxd/oxd-server/log4j.xml -cp /opt/oxd-server/lib/bcp rov-jdk15on-1.54.jar:/opt/oxd-server/lib/oxd-server-jar-with-dependencies.jar -D oxd.logging.dir=/var/log/oxd-server -Doxd.home=/opt/oxd-server -Doxd.base=/opt/o xd-server -Djava.io.tmpdir=/tmp org.xdi.oxd.server.ServerLauncher oxd-server.sta te=/opt/oxd-server/oxd-server.state Unrecognized VM option MaxMetaspaceSize=256m Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.
Kesalahan “Opsi VM tidak dikenal MaxMetaspaceSize=256m ” mencegah pembuatan Java Virtual Machine.
Cara memperbaiki opsi VM Tidak Dikenal MaxMetaspaceSize=256m
Daemon Oxd-server bergantung pada Java. Mari kita periksa versi Java menggunakan perintah di bawah ini.
root@opidclient:~# java -version java version "1.7.0_181" OpenJDK Runtime Environment (IcedTea 2.6.14) (7u181-2.6.14-0ubuntu0.1) OpenJDK 64-Bit Server VM (build 24.181-b01, mixed mode)
Versi Java 1.7.0 tidak mengenali opsi VM MaxMetaspaceSize
, sebagai gantinya MaxPermSize
seharusnya digunakan. Namun MaxMetaspaceSize
didukung di Java Versi 8 (yaitu, Java 1.8). Jadi mari kita instal Oracle Java versi 8 seperti yang ditunjukkan di bawah ini:
$ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer $ sudo apt-get install oracle-java8-set-default
Mari kita periksa versi Java:
root@opidclient:~# java -version java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
Sekarang, saya mencoba memulai oxd-server
dan berhasil.
root@opidclient:~# /etc/init.d/oxd-server start Starting oxd-server: Checking logs for possible errors: PID: [3797] OK Thu Jun 28 07:27:22 UTC 2018 root@opidclient:~# ps -aef|grep oxd jetty 3797 1 51 07:27 ? 00:00:04 /usr/bin/java -server -Xms256m -Xmx512m -XX:MaxMetaspaceSize=256m -XX:+DisableExplicitGC -Doxd.server.config=/etc/oxd/oxd-server/oxd-conf.json -Dlog4j.configuration=/etc/oxd/oxd-server/log4j.xml -cp /opt/oxd-server/lib/bcprov-jdk15on-1.54.jar:/opt/oxd-server/lib/oxd-server-jar-with-dependencies.jar -Doxd.logging.dir=/var/log/oxd-server -Doxd.home=/opt/oxd-server -Doxd.base=/opt/oxd-server -Djava.io.tmpdir=/tmp org.xdi.oxd.server.ServerLauncher oxd-server.state=/opt/oxd-server/oxd-server.state start-log-file=/var/log/oxd-server/start.log root 3827 1581 0 07:27 pts/0 00:00:00 grep --color=auto oxd
root@opidclient:~# telnet 0 8099 Trying 0.0.0.0... Connected to 0. Escape character is '^]'.
Itu dia!. Semoga dapat membantu seseorang yang membutuhkan.