安装环境
ubuntu-18.04.2-desktop-amd64
Java version: 1.8.0_362
Apache Maven 3.6.0
opendaylight: distribution-karaf-0.6.0-Carbon(csdn中应该是已有资源,不让上传)
opendaylight的官网下载链接一直打开失败,我使用的是别人的Carbon版本。
在安装mininet时一直没有什么问题,但安装odl时遇到很多问题,特此记录一下。
安装net-tools, vim, unzip, ssh等必要依赖
全新的ubuntu需要安装一些依赖,后面方面开展
sudo apt-get install net-tools
sudo apt-get install vim
sudo apt-get install unzip ssh
net-tools安装后,使用ifconfig查看一下IP地址,方便后续上传文件使用
vim主要用来编辑环境变量时需要
unzip主要用来解压上传的odl安装包
ssh用来从windows上传odl包
mininet安装
mininet安装非常简单,直接在ubuntu中,
sudo apt-get install mininet
安装完成后,执行一下,看是否能运行成功。如果运行成功,使用pingall 测试一下拓扑是否能ping通。
sudo mn
OpenDayLight安装
安装OpenDayLight遇到不少问题,在此记录一下。此odl的依赖有两个jdk和maven都需要安装。
安装jdk
sudo apt-get install openjdk-8-jdk
sudo cp /etc/profile /etc/profile.bak
sudo vim /etc/profile
第一行安装jdk
第二行习惯性修改文件前先把文件留个备份,万一修改错了再退回来
第三行修改环境变量
在profile文件中插入以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存退出后,直接测试
如果jdk环境变量不生效,可以使用source /etc/profile 刷新一下(但我的就直接生效了)
安装maven
sudo apt-get install maven
安装成功后,进行测试
说实话,我一开始不知道还要安装maven,直接就运行odl,会出现找不到java环境变量的问题(./karaf: line 221: type: java: not found),我都配置了,为啥还不好使,也是看了别人的帖子,安装了maven之后,就不会出这个问题了。
安装ODL
我是使用xftp传到ubuntu中的,解压,修改参数
//把上传解压后的odl 碳版本的文件复制到自己的目录下
sudo cp -r Downloads/distribution-karaf-0.6.0-Carbon sdn/
//修改etc下的参数,还是先复制一份备份,再修改
cd sdn/distribution-karaf-0.6.0-Carbon/etc
sudo cp org.apache.karaf.management.cfg org.apache.karaf.management.cfg.bak
sudo vim org.apache.karaf.management.cfg
rmiRegistryHost=127.0.0.1
rmiServerHost = 127.0.0.1
进入karaf,安装组件
cd distribution-karaf-0.6.0-Carbon/bin
sudo ./karaf
出现此对话框即为安装成功,即可安装组件
feature:install odl-restconf
feature:install odl-l2switch-switch-ui
feature:install odl-openflowplugin-flow-services-ui
feature:install odl-mdsal-apidocs
feature:install odl-dluxapps-applications
使用浏览器访问127.0.0.1:8181/index.html出现下图:
用户名、密码皆为admin
验证mininet+odl联动成功
odl不要关,再开一个terminal,使用命令(连接本机odl,ip用127.0.0.1,连接远程controller,ip使用controller主机的IP),连接odl。
sudo mn --topo=single,4 --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13
进入网页右上角有三个横线,点击找到topology,会看到图中只有一个交换机
执行pingall命令后,4台主机全部出现
遇到的问题,及解决方案
1. 进入karaf的时候java抛异常,我就是强迫症,看见异常,我不解决我就觉得这东西肯定不好使,反复安装了好几遍,后来不抛异常了,我就舒服了。
异常:Apache Karaf starting up. Press Enter to open the shell now...
52% [=====================================> ][ERROR] Failed to construct terminal; falling back to unsupported
java.lang.NumberFormatException: For input string: "0x100"
解决方案
/etc/profile文件中,插入环境变量
export TERM=xterm-color
distribution-karaf-0.6.0-Carbon/bin目录下setenv文件与setenv.bat文件都插入环境变量
再启动就不会抛异常了。但我也试了,抛异常odl也能正常工作,就抛呗~
2.启动karaf启动失败,permision问题
解决方案:进入root用户修改文件,并启动karaf。
先这样吧,记录整了这么多天遇到的一点问题