安裝onos


SDN的特征

集中控制:集中控制使得全局優化成為可能,比如流量工程、負載均衡。集中控制使得整個網絡可以當作一台設備進行維護,設備零配置即插即用,大大降低運維成本。

開放接口:應用和網絡的無縫集成,應用告訴網絡如何運行才能更好地滿足應用的需求,比如業務的帶寬、時延需求,計費對路由的影響等。用戶可以自行開發網絡新功能,加快新功能面世周期。理論上NOS和轉發硬件的開放標准接口使得硬件完全PC化。

網絡虛擬化:邏輯網絡和物理網絡的分離,邏輯網絡可以根據業務需要配置、遷移,不受物理位置的限制。多租戶支持,每個租戶可以自行定義帶寬需求和私有編址。

SDN關鍵技術體系:

ODL介紹

SDN南向接口

SDN南向接口的關鍵技術是轉發面開放協議,該協議允許網絡控制器控制交換機的配置以及相關轉發行為。

Openflow是ONF定義的一個轉發面控制協議,它將轉發面抽象為一個由多級流表組成的轉發模型,網絡控制器通過Openflow協議下發Openflow流表到具體交換機,從而定義、控制交換機的具體行為。

OpenFlow是一整套軟件應用程序接口,OpenFlow 控制器可以通過規范與支持OpenFlow 交換機溝通配置信息,決定數據轉發平面的轉發表,控制器與交換機間通過SSL 加密傳輸。

OF-CONFIG (OpenFlow配置和管理協議)由ONF控制和管理工作組制定和維護,是OpenFlow協議的同伴協議,是在包含OpenFlow交換機的運營環境下,除OpenFlow協議之外的接口配置和管理協議規范,目前采用NETCONF協議進行傳輸。

Openflow以及OF-Config提供了靈活、開放的手段,但是也有許多尚待改進的地方:
1.現有轉發面硬件芯片無法在所有Openflow流表中支持協議中定義的匹配字段,導致Openflow協議靈活性大打折扣,也為網絡控制器控制異構Openflow交換機增加了難度;
2.Openflow協議中僅僅支持了部分現有網絡封包格式,后續對於協議的擴展也會存在類似標准化周期過長的問題。

SDN北向接口

SDN控制層將網絡能力封裝為開放的REST API,供上層業務調用。

ONF當前只定義了OpenFlow作為南向API,而回避了北向API標准化問題,因此不同的控制器具備有不同的北向API集合。

 

 

 

安裝jdk

在jdk官網下載jdk

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

 mkdir /usr/lib/jvm
 tar -xzvf  jdk-8u251-linux-i586.tar.gz   -C /usr/lib/jvm

 

 

 

添加環境變量

$ sudo vi ~/.bashrc

加入如下內容:
export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

執行如下命令,使生效
source ~/.bashrc

配置jdk版本

update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/bin/javac 300
update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java/bin/jar 300
update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java/bin/javah 300
update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java/bin/javap 300

 update-alternatives --config java

 

[root@host-10-10-18-131 ~]# java -version
-bash: /usr/lib/jvm/java/bin/java: No such file or directory
[root@host-10-10-18-131 ~]# ls /usr/lib/jvm/java/bin/java
/usr/lib/jvm/java/bin/java
[root@host-10-10-18-131 ~]# type -path java
/usr/lib/jvm/java/bin/java
[root@host-10-10-18-131 ~]# 

 原因是java下載出錯,重新下載個jdk-8u251-linux-x64.tar.gz 安裝

tar -xzvf  jdk-8u251-linux-x64.tar.gz  -C /usr/lib/jvm

 

 二、 安裝onos

$ git clone https://gerrit.onosproject.org/onos

1.2 配置ONOS環境變量
$ sudo vi /etc/profile
加入如下內容:
export ONOS_ROOT=~/onos
source $ONOS_ROOT/tools/dev/bash_profile

執行如下命令,使生效

source /etc/profile

4 安裝Karaf和Maven
下載Karaf和Maven

$wget http://archive.apache.org/dist/karaf/3.0.5/apache-karaf-3.0.5.tar.gz
$wget http://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.g
tar -zxvf apache-maven-3.3.9-bin.tar.gz -C ~/apache/
tar -zxvf apache-karaf-3.0.5.tar.gz -C ~/apache/

 

export KARAF_ROOT=/root/apache/apache-karaf-3.0.5/
"/etc/profile" 88L, 2198C written
[root@host-10-10-18-131 downloads]# source /etc/profile

 

 

 

export JAVA_HOME=/usr/lib/jvm/java export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH export ONOS_ROOT=/root/onos source $ONOS_ROOT/tools/dev/bash_profile export KARAF_ROOT=/root/apache/apache-karaf-3.0.5/ export MAVEN_ROOT=/root/apache/apache-maven-3.3.9/ export PATH=$JAVA_HOME/bin:$MAVEN_ROOT/bin:$KARAF_ROOT/bin:$PATH ~
~
~
"~/.bashrc" 21L, 567C written
[root@host-10-10-18-131 onos]# source  ~/.bashrc 
[root@host-10-10-18-131 onos]# mvn clean install -DskipTests
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.120 s
[INFO] Finished at: 2020-06-20T07:09:15+00:00
[INFO] Final Memory: 5M/102M
[INFO] ------------------------------------------------------------------------
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (/root/onos). Please verify you invoked Maven from the correct directory. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MissingProjectException
[root@host-10-10-18-131 onos]# 
[root@host-10-10-18-131 onos]# env | grep JAVA_HOME
JAVA_HOME=/usr/lib/jvm/java
[root@host-10-10-18-131 onos]# 
[root@host-10-10-18-131 onos]# mvn clean install  -X switch
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /root/apache/apache-maven-3.3.9
[root@host-10-10-18-131 onos]# mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /root/apache/apache-maven-3.3.9
Java version: 1.8.0_251, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.18.0-147.3.1.el8_1.x86_64", arch: "amd64", family: "unix"
[root@host-10-10-18-131 onos]# 

當前目錄沒有pom.xml,進入

/root/onos/tools/build
[root@host-10-10-18-131 build]# pwd
/root/onos/tools/build
[root@host-10-10-18-131 build]# mvn clean install -DskipTests

 

 

下載與安裝bazel
下載:wget https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-7/vbatts-bazel-epel-7.repo (wget 與后面鏈接一起輸入命令行)
再移動到 /etc/yum.repos.d/目錄下 :mv vbatts-bazel-epel-7.repo /etc/yum.repos.d
或者復制:cp vbatts-bazel-epel-7.repo /etc/yum.repos.d
安裝:yum install bazel
 

 

[root@host-10-10-18-131 ~]# bazel version
WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown".
Build label: 1.2.1
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Tue Nov 26 00:00:00 2019 (1574726400)
Build timestamp: 1574726400
Build timestamp as int: 1574726400
[root@host-10-10-18-131 ~]# 

 

 

 

 

yarn報錯error An unexpected error occurred: "https://registry.yarnpkg.com...connect ETIMEDOUT...
yum install -y nodejs

 

[root@host-10-10-18-131 build]# node -v
v10.19.0
[root@host-10-10-18-131 build]# npm -v
6.13.4
[root@host-10-10-18-131 build]# npm config set registry https://registry.npm.taobao.org
[root@host-10-10-18-131 build]# npm config set disturl https://npm.taobao.org/dist
[root@host-10-10-18-131 build]#

 

 

yum -y install gcc
 
yum -y install gcc-c++

 

 

yum install -y nodejs

 

An error occurred during the fetch of repository 'remotejdk11_linux':
   java.io.IOException: Error downloading [https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz] to /root/.cache/bazel/_bazel_root/548916f1c2f50851181f393ea08eaba4/external/remotejdk11_linux/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz: connect timed out

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM