Ubuntu安装opendaylight控制器

news2024/11/15 17:59:49

目录

实验任务

 实验环境

安装过程:

将opendaylight添加到环境变量中


实验任务

  1. 在虚拟机1中安装opendaylight控制器并安装相应的组件
  2. 在虚拟机2中使用mininet创建一个测试拓扑并将控制器的地址指向虚拟机1
  3. 在虚拟机1中的opendaylight的web界面可以查看到创建的拓扑
  4. 将opendaylight的命令添加到环境变量中,使得在任意目录均可使用karaf命令启动opendaylight

 实验环境

安装过程:

1、更新apt源列表

apt update

2、安装OpenJDK-8和maven

apt install openjdk-8-jdk maven -y

3、查看JDK的安装路径

ls /usr/lib/jvm 
    java-1.8.0-openjdk-amd64 java-8-openjdk-amd64

4、编辑/etc/profile文件,将jdk加入到环境变量中

vim /etc/profile
添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

 重新加载环境变量文件profile

source /etc/profile                # 重新加载profile文件使其生效
echo ${JAVA_HOME}                  # 检查一下JDK的环境是否正确
    /usr/lib/jvm/java-1.8.0-openjdk-amd64

5、使用scp命令将karaf压缩包导入的虚拟机内

Karaf-0.7.3下载—百度网盘icon-default.png?t=N7T8https://pan.baidu.com/s/1ZSXINAbEoduZTjId_JdRNw?pwd=mst1

 解压karaf包后解压karaf包后启动

unzip karaf-0.7.3.zip
cd karaf-0.7.3/
./bin/karaf

 启动时候出现出现报错可能是opendaylight中scala与java不适配问题

有三种解决方法

  1. 下载jdk高一点版本比如openjdk-8版本
  2. 在配置变量环境里再在下面加入一行  export TERM=xterm-color
  3. 更换低版本opendaylihgt(为了于java适配)

 6、安装相应组件

feature:install odl-restconf                                    # 安装支持北向接口REST API的组件
feature:install odl-dluxapps-applications                       # 安装DLUX(web功能)功能
feature:install odl-l2switch-switch-ui                          # 安装L2 switch
feature:install odl-openflowplugin-flow-services-rest           # 安装OpenFlow功能
feature:install odl-dluxapps-yangman
feature:install odl-dluxapps-topology

7、进入web端查看结果,浏览器输入http://localhost:8181/index.html,用户名和密码都是admin

 8、在第二台安装了mininet的虚拟机上创建拓扑并将控制器的地址指向192.168.112.131

mn --topo=single,3 --controller=remote,ip=192.168.112.131,port=6633 --switch ovsk,protocols=OpenFlow13

 

 查看控制器的地址

dump
    <Host h1: h1-eth0:10.0.0.1 pid=4370>
    <Host h2: h2-eth0:10.0.0.2 pid=4372>
    <Host h3: h3-eth0:10.0.0.3 pid=4374>
    <OVSSwitch{'protocols': 'OpenFlow13'} s1: lo:127.0.0.1,s1-eth1:None,s1-eth2:None,s1-eth3:None pid=4379>
    <RemoteController{'ip': '192.168.112.131', 'port': 6633} c0: 192.168.112.131:6633 pid=4364>
# 这里可以看到controller的IP地址不是127.0.0.1,而是安装了opendaylight地址的192.168.112.131    

在opendaylight端查看拓扑结构

将opendaylight添加到环境变量中

        将opendaylight添加到环境变量中,使得在本系统内的任何目录下都可以使用karaf命令进入opendaylight

vim /etc/profile
添加以下内容:
export PATH=/root/karaf-0.7.3/bin:$PATH

        重新加载/etc/profile文件

source /etc/profile
vim /root/.bashrc
最下方添加以下内容:
source /etc/profile

        测试,根目录下启动karaf

至此,切换到root用户后会自动加载profile文件,使得可以在任何目录下使用karaf命令启动opendaylight

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1818598.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python快速入门之Flask框架

文章目录 一、pip安装二、接口开发三、测试 一、pip安装 pip install flask 二、接口开发 from flask import Flaskapp Flask(__name__)app.route("/test") def index():return "test"if __name__ __main__:app.run()三、测试 http://127.0.0.1:5000…

AI大模型探索之路-实战篇:智能化IT领域搜索引擎之GLM-4大模型技术的实践探索

系列篇章&#x1f4a5; No.文章1AI大模型探索之路-实战篇&#xff1a;智能化IT领域搜索引擎的构建与初步实践2AI大模型探索之路-实战篇&#xff1a;智能化IT领域搜索引擎之GLM-4大模型技术的实践探索3AI大模型探索之路-实战篇&#xff1a;智能化IT领域搜索引擎之知乎网站数据获…

如何高效管理和监控 Elasticsearch 别名及索引?

0、引言 在 Elasticsearch 项目中&#xff0c;管理和监控索引是开发者的一项重要任务。 尤其是当我们需要在项目的管理部分展示索引和别名的统计信息时&#xff0c;了解如何有效地列出这些别名和索引显得尤为重要。 本篇博客将介绍几种在 Elasticsearch 中列出别名和索引的方法…

JAVA小知识18:常用数组操作API之Arrays

在JAVA小知识17中我们详细的讲述了关于数组的定义以及使用方法&#xff0c;今天来讲一个关于操作数组的工具类。java.util.Arrays是一个专门用于操作数组的工具类&#xff0c;它封装了非常多的方法方便我们操作数组。 一、常用方法 方法说明public static String toString(数组…

“全光无线星空”照亮津亚电子智能制造之路

随着第四次工业革命浪潮的到来,智能制造正成为制造业的新常态。工业4.0时代的工厂不再是封闭的制造孤岛,而是通过高度的数字化和网络化,实现生产过程的智能化、自动化和灵活化。在这样的大趋势下,制造业正经历着从传统制造向智能制造的深刻转型,数字化车间和智能化生产线成为推…

在Dataworks调度里检查上游表的分区是否已经产出

在Dataworks调度里检查上游表的分区是否已经产出 新建PyOdps3节点&#xff0c;贴如如下代码&#xff1a; import sys import time from datetime import datetimebizdate args[bizdate] if not o.exist_table(args[table]):sys.exit(1)# 设置结束时间为今天的20:00 end_time …

Linux-笔记 全志平台OTG虚拟 串口、网口、U盘笔记

前言&#xff1a; 此文章方法适用于全志通用平台&#xff0c;并且三种虚拟功能同一时间只能使用一个&#xff0c;原因是此3种功能都是内核USB Gadget precomposed configurations的其中一个选项&#xff0c;只能单选&#xff0c;不能多选&#xff0c;而且不能通过修改配置文件去…

入门 Axure RP 9 | 原型设计基础教程

选择正确的原型设计工具并非易事&#xff0c;Axure RP 9能够快速完成原型设计。原型设计是一种经过时间考验的方法&#xff0c;可以将你的设计快速放置在用户的设备并交到他们手中。替代Axure RP 9的原型设计工具即时设计是一个完全集成的协同设计工具&#xff0c;无需使用不同…

【算法与数据结构】【数组篇】【题11-题15】

系列文章 本人系列文章-CSDN博客https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5502 1.数组基本知识点 1.1概念 数组就是一个集合。数组会用一些名为索引的数字来标识每项数据在数组中的位置&#xff0c;且在大多数编程语言中&…

齐普夫定律在循环神经网络中的语言模型的应用

目录 齐普夫定律解释公式解释图与公式的关系代码与图的分析结论 使用对数表达方式的原因1. 线性化非线性关系2. 方便数据可视化和分析3. 降低数值范围4. 方便参数估计公式详细解释结论 来自&#xff1a;https://zh-v2.d2l.ai/chapter_recurrent-neural-networks/language-model…

企业网站安装OV SSL证书的必要性

一、什么是OV SSL证书 SSL OV证书&#xff0c;即组织验证型SSL证书&#xff0c;它要求证书颁发机构对申请证书的组织进行身份验证&#xff0c;确认组织的真实性后&#xff0c;才会发放证书。这种验证方式提高了安全性&#xff0c;因为它确保了证书背后的实体是真实存在的组织&…

SpringBoot实现图片文件上传和回显的两种方式

目录 一 功能需求 二 上传本地 2.1 实现文件上传的controller层 2.2 图片访问资源映射 二 上传OSS 一 功能需求 实现图片的上传和回显功能其实在业务中是非常常见的,比如需要上传头像,或者交易平台需要上传物品的图片等等,都需要上传和回显,所以我接下来给大家介绍两种…

VsCode中C文件调用其他C文件函数失败

之前一直使用CodeBlocks&#xff0c;最近使用vscode多&#xff0c;感觉它比较方便&#xff0c;但在调用其他C文件的时候发现报错以下内容基于单C文件运行成功&#xff0c;否则请移步 博文&#xff1a;VSCode上搭建C/C开发环境 报错信息 没有使用CodeRunner插件&#xff0c;弹…

ubuntu第三方库离线安装包(.deb离线安装方法;apt离线安装;离线安装deb)(docker离线安装、安装docker安装)

文章目录 方法1&#xff1a;Ubuntu Packages 网站下载离线包&#xff08;失败了&#xff0c;找不到包的可下载源&#xff0c;有的包有&#xff0c;有的包没有&#xff0c;不知道怎么回事&#xff09;操作步骤1. 在有网络的环境中&#xff0c;打开浏览器并访问 Ubuntu Packages …

读取CSV文件生成RDD去掉标题行

文章目录 1. 创建CSV文件2. 上传CSV文件3. 读取CSV文件生成RDD4. 去掉标题行生成新RDD5. 查看新生成的RDD 1. 创建CSV文件 执行命令&#xff1a;vim scores.csv 在WPS里查看CSV文件 2. 上传CSV文件 执行命令&#xff1a;hdfs dfs -put scores.csv /park 3. 读取CSV文件生…

Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported

Content type application/x-www-form-urlencoded;charsetUTF-8 not supported 问题背景新增页面代码改造 问题背景 这里有一个需求&#xff0c;前端页面需要往后端传参&#xff0c;参数包括主表数据字段以及子表数据字段&#xff0c;由于主表与子表为一对多关系&#xff0c;在…

计算机毕业设计Python+Django农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop Hive

课题研究的意义&#xff0c;国内外研究现状、水平和发展趋势 研究意义21世纪是一个信息爆炸的时代&#xff0c;人们在日常生活中可接触到的信息量非常之巨大。推荐系统逐步发展&#xff0c;其中又以个性化推荐系统最为瞩目。个性化推荐系统的核心在于个性化推荐算法&#xff0c…

【python】 pandas.DataFrame.to_json 函数

【python】 pandas.DataFrame.to_json 函数 写在最前面一、什么是 JSON&#xff1f;【性能对比】python读取json和直接从orcle数据库读&#xff0c;哪个更快&#xff1f;性能对比适用场景综合考虑 二、to_json 函数概述参数详解1. path_or_buf2. orient4. double_precision5. f…

SaaS产品运营 | 千万不能踏入的PLG模式的六大误区

随着科技的迅速发展和市场竞争的日益激烈&#xff0c;越来越多的公司开始尝试采用PLG&#xff08;Product Led Growth&#xff0c;即产品驱动增长&#xff09;模式来推动其业务的发展。然而&#xff0c;尽管PLG模式在促进增长方面具有显著优势&#xff0c;但在实践中也容易出现…

python学习 -You-Get视频下载使用案例

You-Get 是一个命令行程序&#xff0c;提供便利的方式来下载网络上的媒体信息。 You-Get 是一个用于从网页下载媒体内容&#xff08;如视频、音频、图片&#xff09;的Python库。它支持多种网站&#xff0c;能够捕获并下载这些网站中直接或间接提供的媒体资源。You-Get 的设计…