SDN之Ubuntn20.04OpenDaylight控制器的安装

news2024/11/26 16:58:17

目录

    • 1.OpenDaylight简介
    • 2.安装JAVA环境
    • 3.安装OpenDaylight
    • 4.问题总结

1.OpenDaylight简介

  • OpenDaylight(ODL)是一个开源的软件定义网络(SDN)控制器平台,提供了非常美观且功能完善的可视化管理界面,方便用户进行网络拓扑管理与自定义开发。
  • ODL支持多种网络协议,包括OpenFlow、NETCONF、BGP、PCEP等,这使得它能够管理和控制各种网络设备,包括交换机、路由器等。
  • ODL 主要使用 Java 编写,这使得它能够运行在各种平台上,并具有广泛的兼容性。

2.安装JAVA环境

步骤一:安装JDK
JDK(Java Development Kit,Java 开发工具包)是一个软件开发工具包,提供了 Java 编程语言的开发环境。JDK 包含了 Java 运行时环境(JRE)、Java 编译器(javac)、调试器(jdb)以及其他一些工具和实用程序,用于开发、调试和运行 Java 应用程序。
通过sudo apt-get install openjdk-版本号-jdk命令安装JDK。需要注意的是,安装JDK之前需要保证虚拟机能够上外网。这里安装JDK8版本。
在这里插入图片描述
可以看到JDK8已经安装完成。
在这里插入图片描述
安装之后需要查看JDK的安装路径,以便下一步设置JAVA环境变量时使用。这里JDK安装在/usr/lib/jvm目录下。
在这里插入图片描述
步骤二:配置JAVA环境变量
使用sudo vim /ect/environment命令对etc目录下的environment文件进行修改。
在这里插入图片描述
在文件最后添加:JAVA_HOME=“/usr/lib/jvm/java-8-openjdk-amd64”。
在这里插入图片描述
可以运行java -version查看安装的java版本。
在这里插入图片描述
配置完成后,需要重启系统(reboot),环境变量才能生效。

3.安装OpenDaylight

步骤一:下载OpenDaylight
使用wget https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.6.4-Carbon/distribution-karaf-0.6.4-Carbon.tar.gz命令下载OpenDaylight(网速慢的话,可能需要很久很久,耐心等待)。当然也可以先下载到本地主机,然后再将文件上传到虚拟机。
在这里插入图片描述
可以看到,已经下载完成,保存在/home/shy目录下。
在这里插入图片描述
在这里插入图片描述

步骤二:解压文件
使用sudo tar -zxvf distribution-karaf-0.6.4-Carbon.tar.gz命令解压文件。可以看到解压后的文件distribution-karaf-0.6.4-Carbon保存在/home/shy目录下。
在这里插入图片描述
步骤三:修改参数
进入目录/home/shy/distribution-karaf-0.6.4-Carbon/etc下,使用命令sudo vim org.apache.karaf.management.cfg对文件进行修改。
在这里插入图片描述
在这里插入图片描述
修改内容如下:
在这里插入图片描述
步骤四:启动karaf
进入/home/shy/distribution-karaf-0.6.4-Carbon/bin目录,执行命令sudo ./karaf启动karaf。
在这里插入图片描述
可以看到,现在启动成功。
在这里插入图片描述
步骤五:安装feature
注意,以下命令均是在OpenDayLight的命令行下运行的。
①安装支持REST API的组件
feature:install odl-restconf
②安装L2 switch插件
feature:install odl-l2switch-switch-ui
③安装用户界面服务
feature:install odl-openflowplugin-flow-services-ui
④安装API查看器
feature:install odl-mdsal-apidocs
⑤安装dlux展示页面
feature:install odl-dluxapps-applications
⑥添加与函数服务相关的支持和管理功能
feature:install odl-faas-all
在这里插入图片描述
需要注意安装顺序不能乱。安装完成后使用logout命令退出控制器。
步骤六:验证OpenDaylight控制器是否安装成功
首先进入/home/shy/distribution-karaf-0.6.4-Carbon/bin目录下,使用命令sudo ./karaf启动OpenDaylight控制器;启动成功后,打开Ubuntn中的浏览器,输入网址http://192.168.177.131:8181/index.html登录OpenDaylight管理界面,登录的用户名和密码均为admin(192.168.177.131为虚拟机的IP地址,可以通过ip addr命令查看)。
在这里插入图片描述
可以看到,已经登陆成功,但此时是没有任何内容的。
在这里插入图片描述
接着启动mininet创建网络拓扑,为了简单起见,可以使用sudo mn --controller=remote,ip=127.0.0.1 --switch ovsk,protocols=OpenFlow13命令(或sudo mn --controller=remote,ip=虚拟机IP,port=6633(可写可不写) --switch ovsk,protocols=OpenFlow13命令或sudo mn --controller=remote --switch ovsk,protocols=OpenFlow13命令)创建最小化网络拓扑,使用Open vSwitch (ovsk) 作为交换机(也可以使用ovs),并使用 OpenFlow 1.3 协议进行通信;然后在管理界面中查看当前网络拓扑,此时拓扑图只会显示交换机不会显示主机,这是由链路发现协议(LLDP)来决定的,当主机发起流量时,相关主机才会在拓扑图中显示。
在这里插入图片描述
执行pingall命令,管理界面中查看当前网络拓扑,可以看到新建了一台交换机和两台主机,说明OpenDaylight控制器安装成功。
在这里插入图片描述

4.问题总结

1.通过sudo vim /etc/environment命令配置JAVA环境变量时出现vim:command not found。
原因:Linux默认的文本编辑器是vi。
在这里插入图片描述
解决办法:通过sudo apt-get install vim -y命令安装vim。
在这里插入图片描述
2.使用apt-get install命令安装软件时,出现
E: Could not getlock /var/lib/dpkg/lock-frontend.It is heldby process 31295unattended-upgr)
N: Be aware that removing the lock file is not a solution and may break your sysem.
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is an other process using it?
在这里插入图片描述
原因:用apt-get install安装软件的时候,如果在未完成下载的情况下将terminal关闭,此时 apt-get进程可能没有结束,即有另一个程序正在占用apt-get install进程。由于它在运行时,会占用软件源更新时的系统锁(简称‘系统更新锁’),此时资源被锁。
解决办法:依次输入以下命令强制解锁后重启系统。

sudo rm /var/cache/apt/archives/lock  
sudo rm /var/lib/dpkg/lock
sudo systemctl --force --force reboot

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

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

相关文章

邮政快递查询单号查询入口,分析筛选出其中的提前签收件

批量查询邮政快递单号的物流信息,并将其中的提前签收件分析筛选出来。 所需工具: 一个【快递批量查询高手】软件 邮政快递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的朋友记得先注册&…

MySQL 高可用架构

MySQL 是实际生产中最常用的数据库,生产环境数据量极为庞大,对性能和安全要求很高,单机的 MySQL 是远远达不到的,所以必须搭建一个主从复制架构,同时可以基于一些工具实现高可用架构,在此基础上&#xff0c…

制造业工厂如何选择生产管理MES系统?

一、技术架构 虽然绝大多数的用户不会关心MES设计的技术架构,但如果是好的MES系统,需首先必须具备先进的技术支撑,只有先进的开发平台配合上可配置的模块模组,才可快速构建出符合不同用户场景的业务功能。 试想一下:在…

基于C#实现奇偶排序

这篇就从简单一点的一个“奇偶排序”说起吧,不过这个排序还是蛮有意思的,严格来说复杂度是 O(N2),不过在多核的情况下,可以做到 N2 /(m/2)的效率,这里的 m 就是待排序的个数,当 m100,复杂度为 N…

Project DESFT 白皮书中文版——应用于普惠金融的可信数字凭证解决方案

1. 概述 Project DESFT 是由 Solv 基金会与 zCloak Network 联合设计孵化,以跨境贸易和金融服务为场景的分布式可信数字凭证解决方案(Distributed Trusted Digital Credential Solution),项目获得新加坡金管局(Monetar…

plt绘制表格

目录 1、绘制简单表格 2、将字体居中 3、为每个表格添加背景 4、添加透明度 5、不显示表格标题 6、将pandas的表格列转行显示 7、关闭表格边框 8、设置表格长宽、字体大小 9、利用色系指定表格颜色 1、绘制简单表格 import pandas as pd import matplotlib.pyplot as…

Linux 命令ln

1什么是链接 ln在Linux中 ln 命令的功能是为某一个文件在另外一个位置建立一个同步的链接,当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录&#xff0…

深入理解main方法-Java

深入理解main方法-Java 一、语法说明二、特别说明三、动态传值 一、语法说明 public static void main(String[] args)main方法是虚拟机调用的java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是publicjava虚拟机在执行main()方法时不必创建对象&#x…

Pyqt5设计师中如何插入图片

问题描述:Pyqt5设计师中如何插入图片。使用Pyqt5做一个示意图界面,是一个”假界面“。 问题解决: 第一步,从Widget Box中拖入一个Label,具体如下图所示。 第二步,在右侧属性编辑器→QLabel→pixmap中选择…

SSRF漏洞防御:黑白名单的编写

SSRF漏洞防御:黑白名单的编写 以pikachu靶场中SSRF(crul)为例 我们可以看到未做任何防御 我们查看源代码 黑名单的制作 思路: 什么内容不能访问 构造代码 $xyarray("file" > "","http" > "","https" > …

销售心理学 如何了解客户的购买心理激发客户购买兴趣

销售心理学 如何了解客户的购买心理激发客户购买兴趣 在销售的世界里,掌握客户的购买心理,如同一把神奇的钥匙,能够解锁客户内心的需求和兴趣。如何巧妙地运用销售心理学,激发客户的购买欲望呢?以下是一些建议&#x…

winform联合halcon读取图像出现问题

1.在Form1.cs和Form.Designer.cs中添加using HalconDotNet; 2. 3.添加Halcon导入.cs的程序 4.注释掉导出文件的主函数,不然会报错。 .

实战|信息泄露

0x01系统初探 通过fofa对大学进行搜索 fofa:host"edu.cn" && status_code"200"在随意的翻阅查看时,发现访问xxx.edu.cn登录页面会优先访问登录后的页面,再跳转至登录页面。盲猜应该是前端校验,可以通过…

用稳定扩散VAE编码卫星图像

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 我们使用稳定扩散 VAE 将卫星图像编码到潜在空间中。 然后我们使用 wandb.Table 将潜在变量可视化。 最后,我们将潜伏解码回…

ShardingSphere-JDBC 入门教程(v4.1.1)

框架介绍 ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 OR…

全球200大常用密码排行榜2023 一密码多达450万人使用

弱密码通常指的是容易被猜测、破解或者使用暴力攻击等手段获取的密码。弱密码对于账户和系统的安全性构成威胁,因为攻击者可以更容易地获取对受保护资源的访问权。以下是一些造成密码弱的常见原因: 短密码: 长度较短的密码更容易受到暴力破解…

稳定扩散模型的隐空间探索

生成图像模型学习视觉世界的“潜在流形”:每个点映射到图像的低维向量空间。 从流形上的这样一个点回到可显示的图像称为“解码”—在稳定扩散模型中,这是由“解码器”模型处理的。 在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器…

Linux多线程基本概念

目录 ​编辑 1.什么是进程,线程,并发,并行 优点 缺点 什么资源是线程应该私有的呢 为什么线程切换成本更低呢 3.线程控制 pthread_create lpthread选项 makefile 代码实现 ps -aL 什么是LWP 轻量级进程ID与进程ID之间的区别 LWP与pthr…

【腾讯云云上实验室】用向量数据库—实践相亲社交应用

快速入口 👉向量数据库_大模型知识库_向量数据存储_向量数据检索- 腾讯云 (tencent.com) 文章目录 前言1. 向量数据库概念及原理1.1 向量数据库概念1.2 向量数据库核心原理1.3 向量数据库优缺点1.4 向量数据库与传统数据库的区别 2. 腾讯云向量数据库的基本特性及优…

虹科方案 | 如何破解CAN与车载以太网之间数据传输和协议转换的难题?

导读:在车辆网络时代,数据传输和协议转换在通信领域中扮演着至关重要的角色。它们不仅能够实现车辆内部系统之间的互联互通,还支持车辆与外部网络进行通信,从而为驾驶者带来更智能、便捷的驾驶体验。本文将介绍CAN总线与车载以太网…