目录
- 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