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

目录

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进程。由于它在运行时,会占用软件源更新时的系统锁(简称'系统更新锁'),此时资源被锁。

解决办法:依次输入以下命令强制解锁后重启系统。

python 复制代码
sudo rm /var/cache/apt/archives/lock  
sudo rm /var/lib/dpkg/lock
sudo systemctl --force --force reboot
相关推荐
论迹1 小时前
【Git】-- Git基本操作
git·ubuntu
相偎2 小时前
Ubuntu搭建svn服务器
服务器·ubuntu·svn
oMcLin4 小时前
如何在Ubuntu 22.04 LTS上配置并优化MySQL 8.0分区表,提高大规模数据集查询的效率与性能?
android·mysql·ubuntu
朝阳5815 小时前
Ubuntu 22.04 安装 Fcitx5 中文输入法完整指南
linux·运维·ubuntu
永远在Debug的小殿下5 小时前
wsl安装Ubuntu and ROS2
linux·运维·ubuntu
Ephemeral Memories6 小时前
ubuntu安装软件失败以及运行闪退
linux·ubuntu
linweidong7 小时前
在Ubuntu新版本安装gcc4.8等老版本环境
linux·运维·ubuntu
知识分享小能手8 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中安装 Docker 容器 —— 知识点详解(26)
学习·ubuntu·docker
老前端的功夫9 小时前
TypeScript索引访问类型深度解析:类型系统的动态访问与模式匹配
前端·javascript·ubuntu·架构·typescript·前端框架
oMcLin9 小时前
如何在Ubuntu 20.04上配置并调优Kubernetes集群,确保在多租户环境下的高可用性与资源分配?
linux·ubuntu·kubernetes