Linux下的floodlight安装指南(排坑版)

这篇具有很好参考价值的文章主要介绍了Linux下的floodlight安装指南(排坑版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、先决条件(仔细核对,缺一不可!)

Linux:你最喜欢的 Linux 风格

(我的虚拟机环境:Linux x64、5.13.0内核、Ubuntu 20.04)

Java 开发工具包:JDK 8 for Floodlight master 及更高版本、JDK 7 for Floodlight v1.2 及更低版本

一号坑:严格按照官方要求的版本下载,不要用官网给的命令一步下载到位!

目前这两个jdk都是需要注册Oracle官方账号才能下载的,因此直接执行官网的命令,会有两种情况:1.默认下载了openjdk-11;2.无法下载openjdk-7-jdk,并推荐你用default-jdk命令下载,该命令下载的仍然是jdk11。不要偷懒,他说要jdk8就一定得是jdk8!

排坑:
JDK 8下载链接,免费下载的,注册就行
根据自己的Linux环境选择,一般都是这个:
Linux下的floodlight安装指南(排坑版)
具体的步骤参考Unbuntu下Java环境搭建,这里不再赘述,注意先不要急着照他的方法安装Eclipse。openjdk-8也最好装一下,貌似可以直接命令安装:

sudo apt-get install openjdk-8-jdk

小坑: 如果在执行java -version命令时发现不小心被安装了openjdk-11,用这个命令来卸载是最干净最简洁的:

sudo apt-get autoremove openjdk-11-jre-headless

Ant 或 Maven 构建

二号坑:这里还是不能用命令下载,否则ant会自动下载openjdk11等等一些改变你Java环境的东西!

排坑:
手动安装ant步骤

maven的话,命令下载就好:

sudo apt-get install maven

Python开发包

sudo apt-get install python-dev

它会提示你“注意,选中 ‘python-dev-is-python2’ 而非 ‘python-dev’”,不用管继续执行就行。

Eclipse IDE

三号坑:首选 Eclipse Luna!

这是官方文档的一段提示:“建议使用 Eclipse Luna 版本成功导入 Floodlight 项目。其他 Eclipse 版本也可以,只是人们有时在配置这些版本时可能会遇到麻烦(大多数时候,JDK 问题和“未解决的编译问题”)。 本教程使用 Eclipse Luna 版本编写和测试,因此推荐使用该版本。对于 Floodlight 主分支,您仍应确保在您的环境中安装了 Java 8,并且在 Eclipse 中正确配置了 JDK 1.8。”

Luna版下载安装:
下载Eclipse IDE Luna Linux_x64最新版到/opt目录下

wget -P /opt https://archive.eclipse.org/technology/epp/downloads/release/luna/SR2/eclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz

打开/opt

cd /opt

解压

tar -zxvf eclipse-java-luna-SR2-linux-gtk-x86_64.tar.gz

打开eclipse目录

cd /opt/eclipse

启动eclipse

./eclipse

最新的build、git工具

sudo apt-get install build-essential
sudo apt-get install git

二、下载并构建

四号坑:不要用终端直接在github.com上下载github的源码!

众所周知,GitHub官网很不稳定,而floodlight源码的下载时间很长,如果中途出现短暂断连就会导致下载不完整,致使编译运行出错,还很难手动补充缺失文件。

排坑:
推荐一个目前很稳定的镜像源:https://hub.fastgit.xyz。

即,
顺序执行:

git clone git://hub.fastgit.xyz/floodlight/floodlight.git
cd floodlight
git pull origin master
git submodule init
git submodule update
ant

sudo mkdir /var/lib/floodlight
sudo chmod 777 /var/lib/floodlight

小坑:

  1. 有时候第一行命令还是会显示拒绝连接,可能是公司网络的暂时限制,将“git://”变成“https://”即可;

  2. 执行“git submodule update”时很容易出现“连接失败、克隆失败、尝试重新克隆。。。” 的错误,还是因为github官网的不稳定造成的,这里目前没有别的办法,失败了就再执行,知道他执行成功为止;

  3. ant这一步最好改用:

ant eclipse

以下是官方文档关于用eclipse开发floodlight的一段内容:与其手动设置项目,不如轻松使用 Eclipse 来ant target(floodlight目录下的一个主要目录)。(确实非常快~~)

  1. ant之后容易出现一个比较常见的问题导致build failed
    Linux下的floodlight安装指南(排坑版)
    (图片来源:https://blog.csdn.net/weixin_39147736/article/details/105557018)
    仔细检查一下前面的步骤是否都严格执行,坑是否都填了。有个解释是这样的:openjfx是为了解决程序包javafx.util不存在的问题,需要执行:
sudo apt-get install openjfx

但我当时并没有立刻得到解决,后来发现这个令人头疼的问题主要还是由前面遇到的那些坑没有被排掉造成的!!!

  1. 最后两行命令是一个目录的创建和权限修改操作,我的这个目录在ant以后就是已经操作好了的,无需执行。

  2. 关于切换不同版本,官网说“要使用特定版本,请在‘git clone’步骤中通过附加’-b ‘来指定版本分支,例如‘-b v1.2’”,还有“如果您想切换到不同的版本,请将“git pull”步骤中的“master”替换为您想要的版本分支,例如’v1.1’、'v1.2’等”。我试过都没啥用,要切换的话,只能在ant完之后,执行命令:

git checkout v0.90

切换的版本号改v后面的数字就行。如果出错,删除它提示的所需要删除的文件即可。

三、运行floodlight

在 Eclipse 中运行

先将floodlight导入eclipse的workspace:

  • 打开eclipse并新建一个工作区
  • File -> Import -> General -> Existing Projects 进入Workspace。然后点击"Next"
  • 从“Select root directory”中单击“Browse”。选择您之前放置 Floodlight 的父目录
  • 选中“floodlight”复选框。不应存在​​其他项目,也不应选择任何项目。 单击完成

创建FloodlightLaunch target:

  • 单击Run->Run Configurations
  • 右键Java Application->New
  • Name用FloodlightLaunch
  • Project用Floodlight
  • Main用net.floodlightcontroller.core.Main
  • 单击Apply

要运行 Floodlight,请单击播放按钮旁边的下拉箭头并选择要运行的正确目标。这些也适用于调试目标。

或者,在终端中运行

在floodlight目录下,

java -jar target/floodlight.jar

在浏览器中打开

在同一系统的浏览器中访问http://localhost:8080/ui/index.html,显示界面:
Linux下的floodlight安装指南(排坑版)

四、未解决的源码问题

目前运行倒是没问题,和OVS也能连接,但是源码是有错误的,控制台也显示异常(T_T):
Linux下的floodlight安装指南(排坑版)
源码也有问题的同学一起交流交流啊。

五、参考链接

floodlight官方文档
Unbuntu下Java环境搭建
Ubuntu下安装最新OpenJdk1.8
Linux之ant安装部署
安装floodlight遇到的问题,程序包 org.apache.thrift .annotation不存在
git “errno=Connection refused”
UbuntuLinux遇到缺少javac、javax的解决方法以及卸载系统自带的openjdk11
Ubuntu16.04安装Floodlight相关问题解决文章来源地址https://www.toymoban.com/news/detail-426595.html

到了这里,关于Linux下的floodlight安装指南(排坑版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenGL排坑指南—贴图纹理绑定和使用

    一、前言         在OpenGL学习 的纹理这一章中讲述了纹理贴图的使用方式,主要步骤是先创建一个纹理的对象,和创建顶点VAO类似,然后就开始绑定这个纹理,最后在循环中使用,有时候可能还要用到激活纹理单元的函数。然而,对于何时应该激活如何和shader里的纹理编号

    2024年02月01日
    浏览(38)
  • Ubuntu20.04安装FloodLight最新版本

    网上的很多教程尝试了一下都不对,并且很多都是基于Ubuntu14的旧版本系统,其中的Python环境大多是基于2.0的,由于本人所使用的系统是Ubuntu20.04,后再油管澳大利亚某个学校的网络教学视频的帮助下成功安装,在这里写下安装教程,希望能对后面学习的同学有所帮助。 系统

    2024年04月15日
    浏览(46)
  • Linux下的编辑器——vim的简单上手指南

    前言: 本章主要内容有认识与学习 Linux 环境下常用的编辑器—— vim 的三种模式与常见指令,学会如何在 Linux 下完成 C 代码的编写等等 Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为

    2024年02月13日
    浏览(70)
  • kali上安装 OpenVas (避坑版)

           目   录 一、前期准备 二、开始安装OpenVas 三、OpenVas使用 1、修改yum源  2、确保能够安装成功,首先升级了一遍系统,通过如下命令:  3、 查看postgres数据库端口 端口 5432 改为 5433 。(我的是postgres 14  总之改成5433就对了) 重启服务 1、下载 2、安装 报错:openv

    2024年02月04日
    浏览(37)
  • jenkins 安装nodeJs插件无坑版

    一.进入系统管理 二.找到插件管理 三. 搜索nodeJs 如果出现 安装失败 使用命令 重新进入jenkins你会发现插件已经安装上了 四. 配置nodejs插件 五. 开始使用 然后选择构建步骤里的执行shell 填入以下代码,用来确定node是否安装成功 保存后,点击立即构建 如果出现这种报错: Jenkins

    2024年02月02日
    浏览(36)
  • vernemq 一个可用的入门指南之一:Mac下的安装及使用,使用MQTTX访问verneMQ

    因为百度到一篇简书的,不可用,所以写这么一篇,方便后来人 物联网的消息队列技术选型,很多地方会推荐使用VerneMQ,这里做一个安装实验记录,并非推荐。  官网没有加sudo,执行失败,安装过程会多次下载github上的依赖包,大家要想办法解决速度问题 跑到最后发现le

    2024年02月06日
    浏览(42)
  • centos7安装Docker详细步骤(无坑版教程)

    一、安装前必读 在安装 Docker 之前,先说一下配置,我这里是Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可。 注意:本文的命令使用的是 root 用户登录执行,不是 root 的话所有命令前面要加 sudo   1.查看当前的内核版本 2.使用 root 权限更新 yum 包(生产环境中此步操作

    2024年02月13日
    浏览(52)
  • mmdetection3d系列--(1)安装步骤(无坑版)

      最近在看一些基于点云3d目标检测的文章,需要复现甚至修改一些算法,就找到了mmlab开源的mmdetection3d目标检测框架,方便后续学习。     在安装的时候遇到一点坑,比如环境问题,安装完能跑demo但是不能跑训练测试问题等。在解决问题后还是完成了安装。在这里记录一

    2024年02月02日
    浏览(40)
  • Linux下的MPI安装(类比linux软件的安装方式)

    MPI(Message-Passing Interface),并不是一种新的语言,而是消息传递接口,它定义了一个可以被C、C++和Fortran程序调用的函数库[1]。我们可以用MPI来进行进程间的通信,以消息传递的方式来对分布式内存系统进行编程。通过安装MPICH构建MPI编程环境,从而进行并行程序的开发。MPICH是

    2024年02月05日
    浏览(43)
  • Linux下的Jenkins安装教程

    CentOS 7.8 Java 11(注意当前jenkins支持的Java版本最低为Java11) FinalShell 3.9(操作环境) PS:不建议使用Docker安装Jenkins,因为使用Jenkins的时候一般会调用外部程序,比如Maven、Docker、JDK、Nodejs等,所以我们最好直接安装在本机上,以避免不必要的麻烦。 1. 添加Jenkins源 执行下面两

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包