开发者
资源
鲲鹏环境下源码编译安装Dubbo 2.7.3指南
鲲鹏环境下源码编译安装Dubbo 2.7.3指南
发表于2024/06/08
7893

1简介

Apache Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。Dubbo 采用全 Spring 配置方式,透明化接入应用,对应用没有任何 API 侵入,只需用 Spring 加载 Dubbo 的配置即可,Dubbo 基于 Spring 的 Schema 扩展 进行加载。如果不想使用 Spring 配置,可以通过 API 的方式 进行调用。

官方链接:http://dubbo.apache.org/zh-cn/index.html

                 http://dubbo.apache.org/en-us/index.html

类别:开源分布式服务框架

语言:JAVA

2环境

类别

子项

版本

获取地址(方法)

硬件

CPU

Kunpeng 920

iBMC

网络

Ethernet-10GE

iBMC

存储

SATA 4T

iBMC

内存

xxG xxxMHz

iBMC

OS

CentOS

7.6

cat /etc/centos-release

Kernel

4.14.0-115

cat /proc/version

软件

GCC

4.8.5

gcc -v

Glibc

2.17

ldd --version

OpenJDK

1.8.0_191

参考下面安装说明

cmake

3.13.2

cmake --version

python

2.7.16

python -V

3依赖安装

3.1安装OpenJDK

下载并安装到指定目录(如/opt/tools/installed):

wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u191-b12/OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz

tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz

mv jdk8u191-b12   /opt/tools/installed/

【注】:使用系统自带Openjdk软件包可以通过执行“yum -y install java-1.8.0*”进行安装然后参考如下步骤配置JAVA_HOME环境变量;

配置java环境变量,在/etc/profile文件末尾处增加下面的代码:

JAVA_HOME=/opt/tools/installed/jdk8u191-b12

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME PATH

运行下面命令,使修改的环境变量生效:

source /etc/profile

3.2安装GCC等依赖项

挂载OS镜像:

mount -o loop   /home/CentOS-7-aarch64-Everything-1810.iso /mnt/CentOS/

修改/etc/yum.repos.d/CentOS-Base.repo文件,配置yum本地源:

[base]

name=CentOS-$releasever   - Base

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

baseurl=   file:///mnt/CentOS

gpgcheck=1

gpgkey=   file:///mnt/CentOS/RPM-GPG-KEY-CentOS-7

file:///mnt/CentOS/RPM-GPG-KEY-CentOS-7-aarch64

运行下面的命令,使yum源配置生效:

yum clean all

yum makecache

yum安装GCC等相关依赖:

sudo yum install -y snappy snappy-devel autoconf automake libtool   git gcc gcc-c++ make cmake openssl openssl-devel ncurses-devel zlib   zlib-devel bzip2 bzip2-devel bzip2-libs readline readline-devel bison zip   unzip tar tcl

3.3安装Maven

下载并安装到指定目录(如/opt/tools/installed):

wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

tar -zxf apache-maven-3.5.4-bin.tar.gz

mv apache-maven-3.5.4 /opt/tools/installed/

修改maven环境变量,在/etc/profile文件末尾增加下面高亮代码:

JAVA_HOME=/opt/tools/installed/jdk8u191-b12

M2_HOME=/opt/tools/installed/apache-maven-3.5.4

PATH=$M2_HOME/bin:$JAVA_HOME/bin:$PATH

export M2_HOME   JAVA_HOME PATH

运行下面的命令,是修改的环境变量生效:

source /etc/profile

修改maven配置文件中的:本地仓路径、远程仓等:

配置文件路径:/opt/tools/installed/apache-maven-3.5.4/conf/settings.xml

本地仓库配置:(可选,可保持默认)

<!--默认在“~/.m2/”目录下,可以按下行格式修改成你自己想保存的目录-->

<localRepository>/path/to/local/repo</localRepository>

远程仓库配置:(可选,默认用maven2官方远程仓但访问慢,建议用国内maven仓)

<!--修改成自己搭建的maven仓库,如果没有,可以使用下面的华为开源maven仓 -->

<mirror>
  <id> huaweimaven</id>
  <name> huaweicloud maven</name>
  <url> https://mirrors.huaweicloud.com/repository/maven/</url>
  <mirrorOf>central</mirrorOf>
  </mirror>

配置代理:(可选,外网环境下不用配置maven的代理)

  <proxies>

   <proxy>

      <id>optional</id>

        <active>true</active>

        <protocol>http</protocol>

      <username>用户名</username>

      <password>密码</password>

      <host>代理服务器网址</host>

      <port>代理服务器端口</port>

        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>

    </proxy>

  </proxies>

3.4对gcc、g++和c++增加-fsigned-char选项

1、对gcc增加-fsigned-char选项

1)使用which gcc命令寻找gcc所在路径(一般位于/usr/bin/gcc)

which gcc

2)、更改gcc的名字(比如改成gcc-arm)

mv /usr/bin/gcc   /usr/bin/gcc-arm

3)、进入gcc所在目录执行vi gcc,并填入如下内容保存:

#! /bin/sh

/usr/bin/gcc-arm -fsigned-char "$@"

cd /usr/bin/

vi gcc

4)、执行chmod +x gcc给脚本添加执行权限

chmod +x gcc

2、对g++增加-fsigned-char选项

1)使用which g++命令寻找g++所在路径(一般位于/usr/bin/g++)

which g++

2)、更改g++的名字(比如改成g++-arm)

mv /usr/bin/g++ /usr/bin/g++-arm

3)、进入g++所在目录执行vi g++,并填入如下内容保存:

#! /bin/sh

/usr/bin/g++-arm -fsigned-char "$@"

cd /usr/bin/

vi g++

4)、执行chmod +x g++给脚本添加执行权限

chmod +x g++

3、对c++增加-fsigned-char选项

1)使用which c++命令寻找g++所在路径(一般位于/usr/bin/c++)

which c++

2)、更改c++的名字(比如改成c++-arm)

mv /usr/bin/c++   /usr/bin/c++-arm

3)、进入c++所在目录执行vi c++,并填入如下内容保存:

#! /bin/sh

/usr/bin/c++-arm -fsigned-char "$@"

cd /usr/bin/

vi c++

4)、执行chmod +x c++给脚本添加执行权限

chmod +x c++

4移植分析

使用鲲鹏DevKit工具检查Dubbo 2.7.3对应x86的安装包或源码包是否有依赖x86的so文件,通过检查Dubbo 2.7.3的源码没有发现有依赖的x86架构的so文件。

5依赖库编译

暂无

6编译安装

1、从ACE官网下载源码并解压

wget   https://github.com/apache/dubbo/archive/dubbo-2.7.3.tar.gz

tar zxvf dubbo-2.7.3.tar.gz

2、进入解压目录

cd dubbo-dubbo-2.7.3/

        3、执行maven编译

mvn   clean package -DskipTests

cke_12845.png

4、查看编译后的dubbo-2.7.3.jar

cd dubbo-all/target/

cke_20564.png

7验证

1、编译验证

使用鲲鹏DevKit工具检查编译后的dubbo-2.7.3.jar是否不再含有依赖的x86架构的so文件,如果还有依赖的x86架构的so文件,则需要继续完成对应jar包的编译,直到无依赖的x86架构的so文件后,再次编译该组件并通过鲲鹏DevKit工具检查确认,编译后的组件包不再有依赖的x86架构的so文件则表明编译成功。

2、功能验证

  参考http://dubbo.apache.org/zh-cn/docs/user/quick-start.html

  

8参考信息

  1. http://dubbo.apache.org/zh-cn/docs/dev/build.html

  2. http://dubbo.apache.org/zh-cn/docs/user/quick-start.html

  3. http://dubbo.apache.org/zh-cn/index.html

  4. http://dubbo.apache.org/en-us/index.html

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞