安装floodlight
我按照这位大神的方法探索
Ubuntu20.04安装FloodLight最新版本_floodlight安装-CSDN博客
一、运行环境
操作系统:ubuntu 20.04
已安装:mininet+python+ssh等
二、安装依赖
1.安装JDK8
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 29720 (unattended-upgr)
一开始安装JDK还报错了,我就想我以前也安装也没报错啊,于是我就切换了一下软件源。
再更新一下
sudo apt-get update
重新安装
sudo apt-get install openjdk-8-jdk
sudo cp /etc/profile /etc/profile.bak
sudo vim /etc/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}
测试
2.安装build-essential python-dev maven ant
sudo apt-get install build-essential
sudo apt-get install python-dev
sudo apt-get install maven
sudo apt-get install ant
三、下载Floodlight
1.下载
sudo git clone https://github.com/floodlight/floodlight.git
2.安装子模块
cd floodlight
sudo git submodule init
sudo git submodule update
四、编译Floodlight
可以看到此图中,未编译前,floodlight目录下没有target文件。
1.上传jar包
大神文中提到的两个jar包,原文件分别在下方的链接中,可自行下载:
Maven Repository: org.apache.thrift » libthrift » 0.14.1
Maven Repository: io.netty » netty-all » 4.1.66.Final
将上述两个文件放到floodlight/lib
目录下,一开始还不让上传,我修改了文件的权限,才上传成功
sudo chmod 777 floodlight/
2.修改build.xml文件
编辑build.xml
文件
sudo gedit build.xml
修改build.xml中的两行为刚移动过去的文件【72行和76行】,保存并退出
3.编译
修改完成后进行ant清除
sudo ant clean
重新进行ant编译
sudo ant
编译成功:BUILD SUCCESSFUL
编辑成功后会在floodlight目录中出现target目录,target目录下产生floodlight.jar这个编译的成果。
五、运行测试
java -jar floodlight.jar
六、创建拓扑并显示
1.创建之前
在没有创建拓扑之前,拓扑的页面是没有任何设备的
2.使用mininet创建拓扑,并使用floodlight作为控制器
使用如下命令创建拓扑后,拓扑页面就出现了最小拓扑(当然也可以创建其它类型的拓扑)
正在运行floodlight的终端不要关闭,再打开一个终端
sudo mn --controller=remote,ip=127.0.0.1,port=6653
在此步骤的运行中,我又出现了如下问题:
Traceback (most recent call last):
File "/usr/local/bin/mn", line 28, in <module>
from mininet.clean import cleanup
ImportError: No module named mininet.clean
解决方案参考:解决mininet运行报错“ImportError: No module named mininet.log” - 旺得福000 - 博客园