Recientemente he estado probando mis manos con SSO usando el complemento de inicio de sesión único OpenID connect de Gluu. Uno de los requisitos previos para el complemento es instalar el servidor Oxd y ejecutarlo en el puerto 8099. Bueno, la instalación del servidor Oxd se realizó sin problemas, pero el demonio no pudo iniciarse. Este tutorial explica cómo corregir la 'Opción de VM no reconocida MaxMetaspaceSize ' error que impidió que se iniciara el servidor oxd.
root@opidclient:~# /etc/init.d/oxd-server start oxd-server is already running ... PID: [1370]
Aunque la instantánea anterior dice oxd-server
se ha iniciado, pero no lo hizo. Además, no hubo ningún mensaje de error ni en la salida estándar ni en los archivos de registro del servidor oxd. Sin embargo, pude encontrar información sobre el oxd-server
configuración vía '/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
De la salida anterior, llegué a conocer el comando (RUN_CMD
) que realmente inicia oxd-server
demonio.
Acabo de ejecutar el comando y encontré el problema que impedía oxd-server
de empezar Aquí está la instantánea.
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.
El error "Opción de máquina virtual no reconocida MaxMetaspaceSize=256m ” impidió la creación de Java Virtual Machine.
Cómo reparar la opción de máquina virtual no reconocida MaxMetaspaceSize=256m
El demonio Oxd-server depende de Java. Verifiquemos la versión de Java usando el siguiente comando.
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 versión de Java 1.7.0 no reconoce la opción de VM MaxMetaspaceSize
, en lugar de MaxPermSize
debería ser usado. Sin embargo, MaxMetaspaceSize
es compatible con la versión 8 de Java (es decir, Java 1.8). Así que instalemos Oracle Java versión 8 como se muestra a continuación:
$ 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
Comprobemos la versión de 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)
Ahora, intenté iniciar oxd-server
y funcionó.
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 '^]'.
¡Eso es todo!. Espero que ayude a alguien que lo necesite.