上一篇已经介绍怎么安装opendaylight,以及简单的代码框架介绍与运行情况。这里继续学习opendaylight的相关知识点。
参考:
http://www.sdnap.com/wp-content/uploads/2014/04/Opendaylight%E5%AD%A6%E4%B9%A0%E5%8F%8A%E5%BC%80%E5%8F%91%E5%88%9D%E7%BA%A7%E6%95%99%E7%A8%8B%E5%8C%97%E9%82%AE-%E5%A4%A9%E4%BE%9D.pdf
1、 连接 controller 和 mininet测试
Step1: 启动 controller
执行./run.sh,等待几分钟,打开浏览器,输入:http://controller ip:8080,进入
opendaylight 的登陆页面,用户名和密码都是 admin
controller ip:控制器安装的主机的IP地址
Step2: 启动 mininet 连接 controller
本例中,mininet连接controller的命令为(使用tree类型拓扑,remote controller):
sudo mn --controller=remote,ip=10.15.123.104 --topo tree,3
step3:拓扑图
Mininet 连接上 controller 后,会在首页形成拓扑图,需要注意是拓扑图开始
只会显示交换机不会显示主机,这是由链路发现协议(LLDP)来决定的,当主机
发起流量时,相关主机才会在拓扑图中显示。
2.关于maven的一些介绍
Maven 是一个优秀的构建工具,能够帮我们自动化构建过程,从清理、编译、
测试到生成报告,再到打包和部署。Maven 是跨平台的,这意味着无论是在
Windows 上,还是在 Linux 或者 Mac 上,都可以使用同样的命令。
在不了解 maven 时,你可以想象它完成的是像 make 或 ant 那样的功能。就
像 Make 的 makefile,Ant 的 build.xml 一样,Maven 项目的核心是 pom.xml。
POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述
项目如何构建,声明项目依赖,等等。打开 opendaylight controller 代码的任意一
个目录,例如 controller/arphandler 目录,就可以看到 pom.xml
下面以 controller/arphandler/为例来介绍下 pom.xml 的含义。
pom.xml 的开头的最重要的是 “groupId”, “artifactId” 和“version” 三
行。这三个元素定义了一个项目基本的坐标,在 Maven 的世界,任何的 jar、pom
或者 war 都是以基于这些基本的坐标进行区分的。 GroupId 定义了项目属于哪
个组,这个组往往和项目所在的组织或公司存在关联,譬如你在 googlecode 上
建立了一个名为 myapp 的项目,那么 groupId 就应该是 com.googlecode.myapp,
如果你的公司是 mycom,有一个项目为 myapp,那么 groupId 就应该是
com.mycom.myapp。 ArtifactId 定义了当前 Maven 项目在组中唯一的 ID。顾名
思义,version 指定了项目当前的版本随着项目的发展,version 会不断更新。
“packaging”指的是打包方式,bundle 指打包成 bundle,pom 指不打包。“build”
是跟构建相关的设臵。“plugin”中的 maven-bundle-plugin 指 arphandler 要通过
maven 的 maven-bundle-plugin 插件编译成 OSGI 的 bundle。
附小知识:
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索。这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用。
which which 可执行文件名称whereis whereis [-bmsu] 文件或者目录名称
/*
-b : 只找二进制文件
-m: 只找在说明文件manual路径下的文件
-s : 只找source源文件
-u : 没有说明文档的文件
*/
locate 配合数据库查看文件位置find 实际搜寻硬盘查询文件名称
locate 文件或者目录名称
find 路径 参数
/*
时间查找参数:
-atime n :将n*24小时内存取过的的文件列出来
-ctime n :将n*24小时内改变、新增的文件或者目录列出来
-mtime n :将n*24小时内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来
名称查找参数:
-gid n :寻找群组ID为n的文件
-group name :寻找群组名称为name的文件
-uid n :寻找拥有者ID为n的文件
-user name :寻找用户者名称为name的文件
-name file :寻找文件名为file的文件(可以使用通配符)
*/