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
相关推荐
Tipriest_3 小时前
通过filezilla在局域网下实现高速传输数据
ubuntu·数据传输·filezilla
Joemt4 小时前
ubuntu源码编译安装cmake高版本、pybind11安装、crow使用
linux·运维·ubuntu
huohuopro4 小时前
在linux(ubuntu)服务器上安装NTQQ并使用
linux·ubuntu
Jooolin5 小时前
Ubuntu?Centos?还是 redhat?Linux 系统选哪个?
linux·ubuntu·ai编程
爱凤的小光5 小时前
图漾相机-ROS1_SDK_ubuntu 4.X.X版本编译
linux·数码相机·ubuntu
TTBIGDATA6 小时前
【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step8—AmbariServer初始化
ubuntu·ambari·hdp·bigtop·edp·ambari3·hidataplus
君不见~1 天前
Windows 10 WSL&Ubuntu 22.04 安装并迁移到 F 盘
linux·ubuntu·wsl迁移盘符·wsl迁移
【上下求索】1 天前
学习笔记090——Ubuntu 中 UFW 防火墙的使用
笔记·学习·ubuntu
Young_Zn_Cu1 天前
Windows安装虚拟机遇到内容解码失败
linux·windows·ubuntu
玖剹2 天前
Linux文件系统:从内核到缓冲区的奥秘
linux·c语言·c++·笔记·ubuntu