3.5 源码安装ONOS1.3.0(源码包怎么安装)
bigegpt 2025-07-02 18:26 3 浏览
ONOS是由ON.Lab使用Java及Apache实现发布的首款开源的SDN网络操作系统,主要面向服务提供商和企业骨干网。近日笔者在学习ONOS的过程中写下了这篇文章,希望可以对刚接触ONOS的同学们带来一些帮助。
1.系统环境及软件依赖说明
本次安装在官方推荐的系统环境下进行,官方推荐:
- Ubuntu Server 14.04 LTS 64-bit
- 2GB or more RAM
- 2 or more processors
安装ONOS所依赖的软件(按官方推荐版本):
- Java 8 JDK (Oracle Java recommended; OpenJDK is not as thoroughly tested)
- Apache Maven 3.3.1
- git
- bash (for packaging & testing)
- Apache Karaf 3.0.3
2.安装说明
本次安装分为以下几个步骤:
- 安装ONOS依赖:Maven,Karaf 和Java 8 JDK
- 从源码安装ONOS,以ONOS1.3.0为例
- 验证ONOS安装是否成功
3.开始安装
3.1 目录说明
本次安装将使用以下几个目录:
- ~/Downloads:安装过程中下载的所有软件包都存放在这里
- ~/Applications:ONOS依赖的Maven和Karaf都将解压到这里使用
- ~/onos:安装好的ONOS将放在这个目录下
注意:
目录列表中的'~'表示用户目录,不了解可查阅相关Linux说明。
新手建议严格使用以上几个目录,这样比较方便环境变量的配置。在后面的安装过程中会逐渐创建并使用这几个目录,您读到这里时无需创建。
3.2 下载安装Maven和Karaf,下载ONOS源码
注意:在今后的安装过程中使用普通用户权限即可,使用ROOT权限将给以后的使用带来很多不便!
Shell
build:~$ cd ~ #进入用户目录,准备后面的操作
build:~$ cd; mkdir Downloads Applications #创建存放软件和安装软件的目录
build:~$ cd Downloads #进入下载目录准备下载Maven和Karaf
build:~$ wget
http://archive.apache.org/dist/karaf/3.0.3/apache-karaf-3.0.3.tar.gz#下载Karaf
build:~$ wget
http://archive.apache.org/dist/maven/maven-3/3.3.1/binaries/apache-maven-3.3.1-bin.tar.gz #下载Maven
build:~$ tar -zxvf apache-karaf-3.0.3.tar.gz -C ../Applications/ #解压到Application目录
build:~$ tar -zxvf
apache-maven-3.3.1-bin.tar.gz -C ../Applications/ #解压到Application目录
build:~$ git clone
https://gerrit.onosproject.org/onos #使用git下载onos源码
build:~$ git checkout 1.3.0 #切换到要安装的版本,此处以ONOS1.3.0版本为例
build:~$ cp -r onos ~/ #将要安装的ONOS源码复制到~/onos处
关于Maven和Karaf版本的说明:此处建议使用推荐的karaf-3.0.3和Maven-3.3.1,因为这与ONOS开发者当前使用环境相同,同样是为了方便配置环境变量和减少版本不一致带来的错误。在ONOS源码的pom.xml中有对Maven最低版本的说明。如您使用了不同此处的版本,需对环境变量进行一些修改,在后文3.4节中关于会有说明。
3.3 安装Oracle Java8
Shell
build:~$ sudo apt-get install software-properties-common -y
build:~$ sudo add-apt-repository ppa:webupd8team/java -y
build:~$ sudo apt-get update
build:~$ sudo apt-get install oracle-java8-installer oracle-java8-set-default -y
请确保安装好Java8并可使用,其他版本可能会导致ONOS运行发生错误,使用java -version可查看安装好的Java版本:
3.4 环境变量配置
Shell
build:~$ echo ".
~/onos/tools/dev/bash_profile" >> ~/.profile #将源码中ONOS相关的环境变量导入用户环境中
build:~$ source ~/.profile #使环境变量生效
注意:
如果您安装的Karaf、Maven的版本或目录与上面的不同,请自行更改
~/onos/tools/dev/bash_profile中环境变量的值。如果先前已安装过ONOS,Karaf或Maven,请确保清除掉先前的环境变量值对现在的影响。
3.5 源码安装ONOS1.3.0
Shell
build:~$ cd ~/onos
build:~$ mvn clean install #或者使用别名"mci",想跳过自动测试可以加上 -Dmaven.test.skip=true
出现BUILD SUCCESS的提示表明安装成功
4.运行ONOS1.3.0
按照以下步骤进行:
Shell
$ export ONOS_IP=本机IP #设置ONOS所在主机的IP
$ export ONOS_APPS=drivers,openflow,proxyarp,mobility,fwd #设置要启动的APP
$ ok clean #启动ONOS
如下图,启动成功。
5.验证安装
在这里我们可以通过ONOS中的Web UI来查看ONOS状态,访问WEB:
地址:http://ONOS所在机器
IP:8181/onos/ui/index.html
默认登陆账号密码为:
karaf
Karaf
如下图:
6.运行简单的测试
在这里笔者通过Mininet创建了一个简单的SDN网络,连接启动的ONOS作为控制器。步骤如下: 1.使用Mininet创建虚拟网络,并指定ONOS作为控制器
Shell
$:sudo sudo mn --controller=remote,ip=192.168.0.75,port=6633
2.查看网络中的交换机是否成功连接至ONOS 可以在ONOS控制台中查看,也可以通过WebUI查看,如下图:
3.在Mininet中运行pingall,查看网络视图变化
7.后记
ONOS官网WIKI中的内容较为散乱,但仍是ONOS最准确的资料来源,大家在学习和使用时还应以官网中的资料为主要参照。
作者简介:
曹睿,2015/09-至今,北京邮电大学信息与通信工程学院未来网络理论与应用实验室(FNL实验室)攻读硕士研究生。
相关推荐
- 如何使用Java API操作HDFS系统?(hdfs java api的常见环境准备?)
-
1.搭建项目环境打开Eclipse选择FileàNewàMavenProject创建Maven工程,选择“Createasimpleproject”选项,点击【Next】按钮,会进入“New...
- DataX写插件开发-集成阿里云RocketMQ
-
在上一期我们对datax进行了技术调研DataX数据异构、数据同步神器,这一次我们集成一个RocketMQ写插件,能够非常方便对将mysql数据同步到MQ中,下面来总结下具体步骤。1.下载datax源...
- 以SpringMVC+Shiro+Mybatis为核心开发的精简后台系统源码分享
-
项目说明源码获取方式:关注转发之后私信回复【源码】即可免费获取到以SpringMVC+Shiro+Mybatis为核心开发的精简后台基础系统。包含用户管理,角色管理,部门管理,权限管理,菜单管理,日志...
- 手把手教小伙伴们使用 Nginx 部署 TienChin 项目!
-
今天我就来手把手教小伙伴们部署TienChin项目,一起把这个项目跑起来,看看到底是个什么样的项目。小伙伴们知道,对于这种前后端分离的项目,我们在实际部署的时候,可以按照前后端分离的方式来部署,也...
- 推荐一款超棒的SpringCloud 脚手架项目
-
之前接个私活,在网上找了好久没有找到合适的框架,不是版本低没人维护了,在不就是组件相互依赖较高。所以我自己搭建一个全新spingCloud框架,里面所有组件可插拔的,集成多个组件供大家选择,喜欢哪个用...
- SpringCloud 微服务迁移到 Kubernetes 容器化完整流程
-
k8s容器部署流程具体步骤:第一步:熟悉SpringCloud微服务项目第二步:源代码编译构建第三步:构建项目镜像并推送到镜像仓库第四步:K8s服务编排第五步:部署服务所需的基础环境第六步:部署微服...
- SpringBoot 实现动态配置及项目打包部署上线
-
一、动态配置文件我们需要了解Spring动态指定配置文件的方式,来提高我们的部署效率。1.1、概述在实际企业开发中,开发环境、测试环境、生产环境通常采用不同的数据库等中间件的连接方式。如果此时我们按照...
- 3.5 源码安装ONOS1.3.0(源码包怎么安装)
-
ONOS是由ON.Lab使用Java及Apache实现发布的首款开源的SDN网络操作系统,主要面向服务提供商和企业骨干网。近日笔者在学习ONOS的过程中写下了这篇文章,希望可以对刚接触ONOS的同学们...
- jenkins+gitlab 实现自动化部署(jenkins配置git自动部署)
-
目录1、安装jdk,要记住安装路径2、安装maven,要记住安装路径3、安装git,要记住安装路径4、安装gitlab5、安装jenkins(centos7)创建安装目录下载通用war包启动和关闭Je...
- CI&CD落地实践6-Jenkins接入maven构建后端springboot项目
-
前言在前面一篇《CI&CD落地实践5-Jenkins分布式环境搭建及多节点运行》中,我们介绍了如何在Windows及Linux系统上部署Jenkins从节点,本章节介绍如何在Jenkins创建mave...
- 从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布
-
阅读目录:一、前言二、发布流程三、环境准备四、部署思路梳理五、三台机器上操作六、Git机器上操作七、Docker机器上操作八、Jenkins机器上操作九、上传JAVA项目代码到Git仓库十、Jenki...
- 微服务架构实战:使用Jenkins实现自动化构建
-
使用Jenkins实现自动化构建一个大型平台的微服务架构设计通常会产生很多项目工程,因此会有很多服务和应用需要部署,并且需要不断地迭代和更新,这是一个庞大的工程,所以我们需要借助自动化工具,实现各个微...
- Jenkins 自动化部署实例讲解(jenkins自动化部署git 项目)
-
前言你平常在做自己的项目时,是否有过部署项目太麻烦的想法?如果你是单体项目,可能没什么感触,但如果你是微服务项目,相信你应该是有过这种感触的。这种情况下,我一般会劝你了解一下Jenkins这个玩意...
- 多模块的微服务项目容器化与Git追踪发布记录
-
在使用了微服务后,一个项目往往由多个模块组成,而容器化发布的建议是单个容器尽量只运行单个进程。所以我们会把每个模块单独打包成镜像运行。如果每个模块都单独配置Dockerfile会让我们维护起来很麻烦。...
- 手把手教你使用 Jenkins+Docker 实现持续集成
-
作者:乐之终曲来源:https://blog.csdn.net/qq_37143673/对于Jenkins我只能用两个字形容,难用。就不过多吐槽了,本篇是基于docker环境的使用。1.安...
- 一周热门
- 最近发表
-
- 如何使用Java API操作HDFS系统?(hdfs java api的常见环境准备?)
- DataX写插件开发-集成阿里云RocketMQ
- 以SpringMVC+Shiro+Mybatis为核心开发的精简后台系统源码分享
- 手把手教小伙伴们使用 Nginx 部署 TienChin 项目!
- 推荐一款超棒的SpringCloud 脚手架项目
- SpringCloud 微服务迁移到 Kubernetes 容器化完整流程
- SpringBoot 实现动态配置及项目打包部署上线
- 3.5 源码安装ONOS1.3.0(源码包怎么安装)
- jenkins+gitlab 实现自动化部署(jenkins配置git自动部署)
- CI&CD落地实践6-Jenkins接入maven构建后端springboot项目
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)