本文主要介绍在Ubuntu16.0.4系统下如何安装onos-1.6.0

 

1     工具和原料

  • Java8 JDK

  • ApacheMaven3.0及更新版本)

  • ApacheKaraf3.0.5及更新版本)

  • Git(如果不用git获取源码,可以不需要安装git,我这里都是事先下载好的源码包)

2     安装依赖

2.1    安装Java8

Ubuntu安装JDK的两种方式:

  • 通过ppa(源)方式安装

  • 通过官网下载压缩包安装

 

注:推荐使用第一种方式,因为这种方式可以使用apt-get upgrade方式方便获取jdk的升级,但我这里因为网速的原因,就是使用了第二种方式安装。

 

压缩包安装分一下5个步骤:

2.1.1    官网下载JKD

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

        ONOS-1.6.0源码安装_第1张图片

        选择linux x64平台的tar.gz包下载

2.1.2    解压缩到指定目录

这里使用jdk-8u102-linux-x64.tar.gz进行安装。

创建目录

sudo mkdir /usr/lib/jvm

解压到该目录

                      sudo tar -zxvf jdk-8u102-linux-x64.tar.gz-C /usr/lib/jvm

2.1.3    配置环境变量

vim ~/.bashrc

在文件末尾追加一下内容:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$JAVA_HOME/bin:$PATH

使环境变量立即生效:

source ~/.bashrc

2.1.4    设置系统默认JDK

sudo update-alternatives --install /usr/bin/javajava /usr/lib/jvm/jdk1.8.0/bin/java 300

sudo update-alternatives --install /usr/bin/javacjavac /usr/lib/jvm/jdk1.8.0/bin/javac 300

                  

2.1.5    测试结果

java –version

2.2    安装apache-karaf

通过sftp工具将下载好的apache-karaf文件包上传到Downloads目录(apache-karaf使用3.0.5及以上版本,这里使用apache-karaf-3.0.8.tar.gz)。

创建Applications文件夹(用于安装karafmaven

mkdir ~/Applications

进入Downloads目录

cd Downloads/

apache-karaf-3.0.8.tar.gz解压到Applications目录

tar -zxvf apache-karaf-3.0.8.tar.gz -C ~/Applications

2.3    安装apache-maven

通过sftp工具将下载好的apache-maven文件包上传到Downloads目录(apache-maven使用3.0及以上版本,这里使用apache-maven-3.3.9-bin.tar.gz)。

进入Downloads目录

cd Downloads/

apache-maven-3.3.9-bin.tar.gz解压到Applications目录

tar -zxvf apache-maven-3.3.9-bin.tar.gz -C ~/Applications

设置apache-maven环境变量,编辑~/.bashrc文件

vim ~/.bashrc

在文件末尾添加一下几行内容:

exportM2_HOME=/home/dev/Applications/apache-maven-3.3.9

export PATH=$PATH:$M2_HOME/bin

使环境变量立即生效

source ~/.bashrc

验证maven安装结果

mvn –v,显示一下内容则证明安装成功:

wKioL1fWD5XgUPerAAA00_9es1Q494.png-wh_50

3     安装ONOS

3.1    下载ONOS源码

下载地址:https://github.com/opennetworkinglab/onos/archive/1.6.0.zip

wgethttps://github.com/opennetworkinglab/onos/archive/1.6.0.zip

下载目录没有要求,这里下载到~/Downloads目录下。

创建工作目录

mkdir~/workspace

进入Downloads目录

cd ~/Downloads

解压onos源码到~/workspace目录下

unzip onos-1.6.0.zip-d ~/workspace

3.2    环境变量设置

构建onos之前,需要设置ONOS_ROOTKARAF_ROOT两个环境变量。

打开~/.bashrc文件

vim ~/.bashrc

在文件尾部加入如下内容:

export ONOS_ROOT=/home/dev/workspace/onos-1.6.0

exportKARAF_ROOT=/home/dev/Applications/apache-karaf-3.0.8

export PATH=$KARAF_ROOT/bin:$PATH

保存并退出

使环境变量立即生效,执行下面的命令

source ~/.bashrc

3.3    构建ONOS

onos默认使用的是apache-karaf-3.0.5,所以我们需要编辑一下onosbash_profilefeatures.xml

vim $ONOS_ROOT/features/features.xml

修改mvn:org.apache.karaf.features/standard/3.0.5/xml/featuresmvn:org.apache.karaf.features/standard/3.0.8/xml/features

保存退出。

vim $ONOS_ROOT/tools/dev/bash_profile

修改export KARAF_VERSION=${KARAF_VERSION:-3.0.5}export KARAF_VERSION=${KARAF_VERSION:-3.0.8},和前面配置的karaf版本保持一致。

使环境变量立即生效,执行下面的命令

source $ONOS_ROOT/tools/dev/bash_profile

为了加快编译速度,可以打开lib目录下的pom.xml文件,把代码风格检查注释掉。

vim $ONOS_ROOT/lib/pom.xml

找到maven-checkstyle-plugin插件,将下面的内容注释掉

进入onos根目录

cd ~/$ONOS_ROOT

mvn clean install(在这里可以使用mvn clean install –DskipTests跳过测试用例)

进入漫长的等待……

看到这个界面,觉得这十几分钟等待还是挺值得的,恭喜你,编译通过了。

3.4    运行ONOS

在运行之前,需要设置一下ONOS_IP的值

export ONOS_IP=172.16.132.75(此处IP换成自己使用的地址)

启动onos

ok clean

又是一阵等待……

ONOS-1.6.0源码安装_第2张图片

直到看到这个醒目的红色ONOS标识,到了这里,我们距离成功已经很近了,去检验一下吧。

3.5    验证安装结果

再打开一个命令行窗口,执行下面的命令

netstat -anput | grep 6633

wKiom1fWD9LD3WxEAAAcgepimOU519.png-wh_50

netstat -anput | grep 8181

看到上面的结果,说明我们控制器安装成功了。

也可以直接在karaf的控制台,使用list命令查看模块加载的情况。

ONOS-1.6.0源码安装_第3张图片

打开浏览器,在地址栏输入http://:8181/onos/ui/ 访问onos控制器,默认的用户名:karaf,密码:karaf

4     测试ONOS

一般都是使用mininet模拟Openflow网络进行测试,网上有很多这方面的文章,这里就不再写了。