OpenDayLight基本环境搭建
2015-07-21 10:43
597 查看
OpenDayLight学习之路(一):OpenDayLight基本环境搭建
事先声明:本人为小白,第一次接触OpenDayLight(以下简称ODL),本文仅为了记下学习经历。
一、基本环境
OS:Debian testing/stretch x86_64 Linux 4.0.0-2-amd64
JVM:Oracle jdk 8u51
ODL:Lithium Pre-built
VM:Vmware for Linux
二、获取和安装ODL
1、下载ODL并运行
因为是第一次接触ODL,所以我选择了下载pre-built版本,并没有自己编译,需要自己编译的可以查看官方wiki相关页面。
在ODL的网站http://www.opendaylight.org/software/downloads下载最新版Lithium的zip或tar包:
Pre-Built Zip
Pre-Built Tar
Documentation:
Getting Started Guide
Developer Guide
User Guide
Using OpenDaylight with OpenStack
解压出ODL后,cd进ODL目录,执行"./bin/karaf"。
不过这里会提示Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]" java.lang.RuntimeException: Could not start JMX connector server...等错误。
我们需要修改"./etc/org.apache.karaf.management.cfg"文件,将
rmiRegistryHost = 0.0.0.0
rmiServerHost = 0.0.0.0
修改为:
rmiRegistryHost = 127.0.0.1
rmiServerHost = 127.0.0.1
按理说0.0.0.0在java网络编程中代表的是本机所有ip,但是不知道为什么会出现错误。
接下来再运行./bin/karaf看到如下界面,并没有提示错误就对了。
2、安装功能组件
ODL的许多功能需要一些相关组件来完成,比如说webUI。
安装组件的command为:
feature:install <feature1-name> <feature2-name> ... <featureN-name>
列出可用组件:
feature:list
列出已经安装的组件:
feature:list -i
同样可以使用管道和grep筛选出你感兴趣的内容,比如:
A.安装REST APIs支持
REST APIs是SDN控制器北向接口的一个通用API。
feature:install odl-restconf
B.安装DLUX web interface
具体可以参见wiki:https://wiki.opendaylight.org/view/OpenDaylight_DLUX:DLUX_Karaf_Feature
安装完成后打开http://localhost:8181/index.html,就可以看到如下的登录界面:
用户名和口令都是admin
登录进去之后就可以看到如下界面:
注:如果你只安装了odl-dlux-core组件,就只会看到Topology选项,要其他选项的可以安装
odl-dlux-node odl-dlux-yangui odl-dlux-yangvisualizer 等
不过现在topology和node是没有任何东西的,因为ODL Control没有连接任何交换机。
有关更多的组件信息可以参阅bk_getting_started_guide或者使用feature:list。需要注意的是:
In the table a compatibility value of all means that it can be run with other features. A
value of self+all indicates that the feature can be installed with other features with a value
of all, but may interact badly other features with a value of self+all.
即不要安装多个标有self+all的组件。
二、使用Mininet搭建虚拟交换机
这部分可以参见wiki。
1. 这里我选择使用Mininet VM image,相关网站:http://mininet.org/download/
下载好http://mininet.org/download/的zip文件解压后,导入到vmware,并启动虚拟机,username和psw都是mininet。
最好修改虚拟机的网卡模式为桥接,使mininet和ODL在一个网段,方便mininet连接ODL。
2.在mininet上建立一个虚拟交换机网络并连接到ODL
上面的命令执行完成后就自动建立了一个交换机网络并连接到了ODL,有关mininet的更多使用方法将会在以后学习。
现在打开webui就可以看到刚刚建立的网络拓扑和节点信息了。
总结:
用了半天的时间总算把opendaylight搞成这样了,后面会学习一下mininet的使用,REAT APIs的使用,通过抓包分析openflow协议等,争取写出一个自己的SDN控制器
事先声明:本人为小白,第一次接触OpenDayLight(以下简称ODL),本文仅为了记下学习经历。
一、基本环境
OS:Debian testing/stretch x86_64 Linux 4.0.0-2-amd64
JVM:Oracle jdk 8u51
ODL:Lithium Pre-built
VM:Vmware for Linux
二、获取和安装ODL
1、下载ODL并运行
因为是第一次接触ODL,所以我选择了下载pre-built版本,并没有自己编译,需要自己编译的可以查看官方wiki相关页面。
在ODL的网站http://www.opendaylight.org/software/downloads下载最新版Lithium的zip或tar包:
Pre-Built Zip
Pre-Built Tar
Documentation:
Getting Started Guide
Developer Guide
User Guide
Using OpenDaylight with OpenStack
解压出ODL后,cd进ODL目录,执行"./bin/karaf"。
不过这里会提示Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]" java.lang.RuntimeException: Could not start JMX connector server...等错误。
我们需要修改"./etc/org.apache.karaf.management.cfg"文件,将
rmiRegistryHost = 0.0.0.0
rmiServerHost = 0.0.0.0
修改为:
rmiRegistryHost = 127.0.0.1
rmiServerHost = 127.0.0.1
按理说0.0.0.0在java网络编程中代表的是本机所有ip,但是不知道为什么会出现错误。
接下来再运行./bin/karaf看到如下界面,并没有提示错误就对了。
2、安装功能组件
ODL的许多功能需要一些相关组件来完成,比如说webUI。
安装组件的command为:
feature:install <feature1-name> <feature2-name> ... <featureN-name>
列出可用组件:
feature:list
列出已经安装的组件:
feature:list -i
同样可以使用管道和grep筛选出你感兴趣的内容,比如:
A.安装REST APIs支持
REST APIs是SDN控制器北向接口的一个通用API。
feature:install odl-restconf
B.安装DLUX web interface
具体可以参见wiki:https://wiki.opendaylight.org/view/OpenDaylight_DLUX:DLUX_Karaf_Feature
feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-core
安装完成后打开http://localhost:8181/index.html,就可以看到如下的登录界面:
用户名和口令都是admin
登录进去之后就可以看到如下界面:
注:如果你只安装了odl-dlux-core组件,就只会看到Topology选项,要其他选项的可以安装
odl-dlux-node odl-dlux-yangui odl-dlux-yangvisualizer 等
不过现在topology和node是没有任何东西的,因为ODL Control没有连接任何交换机。
有关更多的组件信息可以参阅bk_getting_started_guide或者使用feature:list。需要注意的是:
In the table a compatibility value of all means that it can be run with other features. A
value of self+all indicates that the feature can be installed with other features with a value
of all, but may interact badly other features with a value of self+all.
即不要安装多个标有self+all的组件。
二、使用Mininet搭建虚拟交换机
这部分可以参见wiki。
1. 这里我选择使用Mininet VM image,相关网站:http://mininet.org/download/
下载好http://mininet.org/download/的zip文件解压后,导入到vmware,并启动虚拟机,username和psw都是mininet。
最好修改虚拟机的网卡模式为桥接,使mininet和ODL在一个网段,方便mininet连接ODL。
2.在mininet上建立一个虚拟交换机网络并连接到ODL
mininet@mininet-vm:~$ sudo mn --controller=remote,ip=192.168.0.101 --topo tree,3 *** Creating network *** Adding controller *** Adding hosts: h1 h2 h3 h4 h5 h6 h7 h8 *** Adding switches: s1 s2 s3 s4 s5 s6 s7 *** Adding links: (h1, s3) (h2, s3) (h3, s4) (h4, s4) (h5, s6) (h6, s6) (h7, s7) (h8, s7) (s1, s2) (s1, s5) (s2, s3) (s2, s4) (s5, s6) (s5, s7) *** Configuring hosts h1 h2 h3 h4 h5 h6 h7 h8 *** Starting controller *** Starting 7 switches s1 s2 s3 s4 s5 s6 s7 *** Starting CLI: mininet>
上面的命令执行完成后就自动建立了一个交换机网络并连接到了ODL,有关mininet的更多使用方法将会在以后学习。
现在打开webui就可以看到刚刚建立的网络拓扑和节点信息了。
总结:
用了半天的时间总算把opendaylight搞成这样了,后面会学习一下mininet的使用,REAT APIs的使用,通过抓包分析openflow协议等,争取写出一个自己的SDN控制器
相关文章推荐
- Visual Studio 2015 和 Apache Cordova
- Linux(Ubuntu12.04)安装nginx
- linux的百度网盘客户端
- CentOs虚拟机可以互相ping通,但无法访问虚拟机服务
- java 执行cmd/shell keytool 导入证书
- OpenVSwitch 配置QOS
- 网站采取黑白配色的方法
- hadoop MapReduce - 从作业、任务(task)、管理员角度调优
- Linux永久修改系统时间和时区方法
- 删除myeclipse下多个tomcat
- Centos 下Squid配置透明代理服务器
- 在 Apache error_log 中看到多个信息,提示 RSA server certificate CommonName (CN) 与服务器名不匹配(转)
- nginx源码安装
- 使用 CSS 媒体查询创建响应式网站 适用于所有屏幕大小的设计
- 超赞!帮你发掘高素质图标的50个优质网站
- CentOS6.5 安装rabbitmq
- Apache配置反向代理
- 运维时数据丢失如何做?
- shell运算符
- Apache Cordova介绍