从 Ubuntu 运行 Opendaylight

从 Ubuntu 运行 Opendaylight

为了构建 SDN 测试平台,我安装了 VirtualBox 来运行 Mininet 和 OpenDayLight 控制器。因此,为了安装和运行 OpenDayLight,我遵循了以下方法教程./karaf。直到我尝试从 vm 终端内实际运行该命令时,才出现问题。

它向我显示了以下消息:

./karaf: 242: [: Illegal number:  

OpenJDK 64-Bit Server VM warning: Option UnsyncloadClass was deprecated in 
 version 10.0 and will likely be removed in a future release. 
OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize;
 support was removed in 8.0

-Djava.endorsed.dirs=/usr/lib/jvm/default java/jre/lib/endorsed:/usr/lib/jvm/default
 java/lib/endorsed:/home/odlc/distribution-karaf-0.4.0 Beryllium/lib/endorsed
is not supported. Endorsed standards and standalone APIs in modular
form will be supported via the concept of upgradeable modules. 

Error: Could not create the Java Virtual Machine. 

Error: A fatal exception has occurred. Program will exit.

如何解决这个问题?

答案1

我假设您在按照本教程操作时安装了 Ubuntu 18.04 Server。

如果是这样,我认为问题可能与安装的 Java 版本有关。在 18.04 中,该软件包default-jre-headless安装了 OpenJDK 11。我尝试了这个,并收到了与您相同的错误。

它看起来确实适用于 OpenJDK 8,您应该能够按如下方式解决此问题:

删除 OpenJDK 11

sudo apt remove default-jre-headless
sudo apt autoremove

添加 Universe 软件存储库(OpenJDK 8 必需)

sudo add-apt-repository universe

安装 OpenJDK 8

sudo apt install openjdk-8-jre-headless

修改bashrc

打开文件~/.bashrc并将之前添加的行修改为:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

重新运行修改后的文件source ~/.bashrc,然后尝试再次运行 karaf。

相关内容