mininet+odl安装

安装环境

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.1rmiServerHost = 127.0.0.1 

进入karaf,安装组件

cd distribution-karaf-0.6.0-Carbon/binsudo ./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。

先这样吧,记录整了这么多天遇到的一点问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827085.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中的StringBuilder类

StringBuilder 是 Java 中的一个类,它用于可变字符串的构造或修改。当你需要在一个循环中多次修改一个字符串时,使用 StringBuilder 是非常有用的,因为它比使用 操作符连接字符串的效率要高得多。 StringBuilder 的主要特点如下&#xff1a…

yml文件解析

.yml 后缀的文件可以有多个application.yml # 项目相关配置 用于 RuoYiConfig.java ruoyi:# 名称name: RuoYi# 版本version: 3.8.5# 版权年份copyrightYear: 2023# 实例演示开关demoEnabled: true# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Lin…

C语言结构体,枚举,联合

系列文章目录 第一章 C语言基础知识 第二章 C语言控制语句 第三章 C语言函数详解 第四章 C语言数组详解 第五章 C语言操作符详解 第六章 C语言指针详解 第七章 C语言结构体详解 第八章 详解数据在内存中的存储 第九章 C语言指针进阶 文章目录 1. 结构体 1.1 声明结构…

Ajax 笔记 01

01 ajax的基本使用 ajax五步骤: 1.构建异步请求对象 2.调用open方法 传入请求方式 服务器地址等参数 3.调用send方法 发起网络请求 4.注册请求对象的状态改变事件 5.在状态改变事件里面 判断当前状态 并取得返回值 02 get方式向服务器发送数据 ajax的get方式向服务器提交数据: …

kubebuilder(2)创建项目及初始化

一个demo项目来了解kubebuilder的项目结构 初始化项目 mkdir demo-operator cd demo-operator kubebuilder init --domain demo.com --repo demo.com/tutorial 这一步创建了 Go module 工程基本的模板文件,引入了必要的依赖 如果不用--repo参数,也可…

【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Push Button的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 按钮类控件 | Push Button的使用及说明 文章编号&#x…

mysql基础12——事务

事务 !!!确保多个关联操作全部执行 需要用到事务 事务是mysql的一项功能 使一组数据操作(DML操作) 要么全部执行 要么全部不执行(原子操作) 不会因为某种异常情况(停电,网络中断&#xff0…

mysql基础6——多表查询

外键 把分散在多个不同表里面的数据查询出来的操作,就是多表查询 把两个表连接:使用外键(foreign key)和连接(join) 外键在表创建的阶段定义也可以通过修改表定义,连接在查询字段把相同意义的字段连接起来 外键就是从表中用来引用主表中数…

C# 开源SDK 工业相机库 调用海康相机 大恒相机

C# MG.CamCtrl 工业相机库 介绍一、使用案例二、使用介绍1、工厂模式创建实例2、枚举设备,初始化3、启动相机4、取图5、注销相机 三、接口1、相机操作2、启动方式3、取图4、设置/获取参数 介绍 c# 相机库,含海康、大恒品牌2D相机的常用功能。 底层采用回…

pprof火焰图排查问题小计

问题描述 前情提要:一个go服务使用了公司内部的流式框架,将业务拆分成算子,算子间通过Input和output进行参数传递 线上一个go模块会有偶现的非预期错误,通过日志发现是出现了算子入参的丢失,首先怀疑是不是自己的框架…

ai扩写软件有哪些免费的?分享4款扩写好用的!

随着人工智能技术的飞速发展,AI扩写软件逐渐成为了内容创作者们的得力助手。它们能够迅速将简短的文案扩写成内容丰富、结构完整的文章,大大提高了创作效率。本文将为您盘点几款免费的AI扩写软件,助您在今日头条、百家号等自媒体平台上轻松打…

合并二叉树(力扣617)

解题思路:实现两个二叉树同时递归遍历,遇到一方为空时就把另一方不为空的相同位置返回,所以这里特殊的是停止递归条件隐藏在上面,如果返回的是空值时自然不法继续进行(前提条件,前序遍历和在第一个二叉树上…

P8837 [传智杯 #3 决赛] 商店(贪心加双指针)

题目背景 思路解析:很经典的贪心问题,把物品按照从便宜到贵的顺序排好序,然后按照富贵程度排人,直接暴力会tle所以这里采用双指针. #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<string> using namesp…

quill富文本编辑器中文汉化和高度设置操作

quill文档&#xff1a;Installation - Quill Rich Text Editor quill仓库&#xff1a;GitHub - quilljs/quill: Quill is a modern WYSIWYG editor built for compatibility and extensibility. quill默认是英文的&#xff0c;并且高度也是只有一行&#xff0c;所以想自定义高…

C++——类和对象练习(日期类)

日期类 1. 构造函数和析构函数2. 拷贝构造和赋值运算符重载3. 运算符重载3.1 日期的比较3.2 日期加减天数3.3 日期减日期3.4 流插入和流提取 4. 取地址和const取地址重载5. 完整代码Date.hDate.c 对日期类进行一个完善&#xff0c;可以帮助我们理解六个默认成员函数&#xff0c…

软件行业中的蓝海领域有哪些?

一、什么是蓝海&#xff1f; 蓝海&#xff0c;指的是未知的市场空间。这个概念相对于“红海”而言&#xff0c;红海则是指已知的市场空间。 企业要启动和保持获利性增长&#xff0c;就必须超越产业竞争&#xff0c;开创全新市场&#xff0c;这其中包括两块&#xff1a;一块是…

【软件测试】Selenium实战技巧-多页面和Windows控件处理

01 多页面处理 做UI自动化的时候常常会遇到浏览器弹出新的Tab页&#xff0c;或者需要在多个网页服务之间来回取数据的情况。 比如在首页点击文章“Jmeter使用&#xff1f;”的链接&#xff0c;浏览器会弹出一个新的页面显示“Jmeter使用&#xff1f;”这篇文章的详情。此时如…

Python多线程与多进程编程

一、引言 随着计算机技术的飞速发展&#xff0c;程序运行的速度和效率成为了人们关注的焦点。为了提高程序的执行效率&#xff0c;多线程与多进程编程技术应运而生。Python作为一种通用编程语言&#xff0c;在支持多线程与多进程编程方面有着独特的优势。本文将详细探讨Python…

书生·浦语大模型实战营之 XTuner 微调 Llama 3 个人小助手认知

书生浦语大模型实战营之 XTuner 微调 Llama 3 个人小助手认知 Llama 3 近期重磅发布,发布了 8B 和 70B 参数量的模型,XTuner 团队对 Llama 3 微调进行了光速支持!!!开源同时社区中涌现了 Llama3-XTuner-CN 手把手教大家使用 XTuner 微调 Llama 3 模型。 XTuner:http://…

牛客NC238 加起来和为目标值的组合【中等 DFS C++、Java、Go、PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/172e6420abf84c11840ed6b36a48f8cd 思路 本题是组合问题&#xff0c;相同元素不同排列仍然看作一个结果。 穷经所有的可能子集&#xff0c;若和等于target&#xff0c;加入最终结果集合。 给nums排序是为了方便…