Di recente mi sono cimentato con SSO utilizzando il plug-in single sign-on OpenID Connect di Gluu. Uno dei prerequisiti per il plugin è installare il server Oxd ed eseguirlo sulla porta 8099. Bene, l'installazione del server Oxd è andata bene, ma il demone non si è avviato. Questo tutorial spiega come correggere "Opzione VM non riconosciuta MaxMetaspaceSize ' errore che ha impedito l'avvio del server oxd.
root@opidclient:~# /etc/init.d/oxd-server start oxd-server is already running ... PID: [1370]
Sebbene l'istantanea sopra riporti oxd-server
è stato avviato, ma non è stato così. Inoltre, non c'erano messaggi di errore o giù di lì nell'output standard e nei file di registro del server oxd. Tuttavia, potrei trovare alcune informazioni su oxd-server
configurazione tramite '/etc/init.d/oxd-server status'
comando.
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
Dall'output sopra, ho avuto modo di conoscere il comando (RUN_CMD
) che avvia effettivamente oxd-server
demone.
Ho appena eseguito il comando e ho trovato il problema che impediva oxd-server
dall'inizio. Ecco l'istantanea.
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.
L'errore "Opzione VM non riconosciuta MaxMetaspaceSize=256m ” ha impedito la creazione di Java Virtual Machine.
Come correggere l'opzione VM non riconosciuta MaxMetaspaceSize=256m
Il demone Oxd-server dipende da Java. Controlliamo la versione di Java usando il comando seguente.
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)
La versione Java 1.7.0 non riconosce l'opzione VM MaxMetaspaceSize
, invece MaxPermSize
dovrebbe essere usato. Tuttavia MaxMetaspaceSize
è supportato in Java versione 8 (ovvero, java 1.8). Quindi installiamo Oracle Java versione 8 come mostrato di seguito:
$ 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
Controlliamo la versione di 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)
Ora, ho provato ad avviare oxd-server
e ha funzionato.
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 '^]'.
Questo è tutto!. Spero che aiuti qualcuno nel bisogno.