开发者
SkyWalking 6.4.0移植指南

SkyWalking 6.4.0移植指南

软件迁移安装部署

发表于 2026/04/25

0

作者|张久同


1 SkyWalking简介

软件名称

SkyWalking

软件版本

6.4.0

开源性

开源

下载地址

https://github.com/apache/skywalking

使用场景

可视化平台

2软硬件环境

类别

子项

版本

下载地址

硬件

CPU

Kunpeng 920

/

OS

openEuler

20.03LTS SP1

https://www.openeuler.org/zh/

软件

SkyWalking

6.4.0

https://github.com/apache/skywalking

3 SkyWalking软件移植

3.1 构建环境搭建

3.1.1 依赖包安装

编译需要使用cmake apr等。(在后边编译时下载3.27)

步骤1           下载相关依赖包

yum install cmake apr*

3.1.2 Maven安装

步骤1           下载软件包

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

步骤2           解压源码

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

步骤3           添加到环境变量

vim /etc/profile

export MAVEN_HOME=/your/path/to/maven

export PATH=$MAVEN_HOME/bin:$PATH

步骤4           环境变量生效

source /etc/profile

3.1.3 gradle安装

步骤1           下载gradle

wget https://gradle.org/next-steps/?version=4.5&format=bin

步骤2           解压

unzip gradle-4.5-bin.zip

步骤3           添加到环境

vim /etc/profile

export GRADLE_HOME=/your/path/to/gradle

export PATH=$GRADLE_HOME/bin:$PATH

步骤4           环境变量生效

source /etc/profile

3.1.4 安装JDK1.8

步骤1           下载gradle

wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz

步骤2           解压

Tar -zxf  OpenJDK**.tar.gz

步骤3           添加到环境

vim /etc/profile

export JAVE_HOME=/your/path/to/jdk

export PATH=$JAVE_HOME/bin:$PATH

步骤4           环境变量生效

source /etc/profile

3.1.5 安装golang

步骤5           下载golang

wget https://dl.google.com/go/go1.14.2.linux-arm64.tar.gz

步骤6           解压

tar -zxf go1.14.2.linux-arm64.tar.gz

步骤7           添加到环境

vim /etc/profile

export PATH=/your/path/to/go/bin:$PATH

步骤8           环境变量生效

source /etc/profile


3.2 编译安装grpc-java 1.8

步骤1           下载protobuf 3.4.0

Git clone https://github.com/protocolbuffers/protobuf.git

步骤2           编译protobuf3.4.0

git checkout v3.4.0

git clean -f

git branch -a

./autogen.sh

./configure && make && make install

步骤3           安装到本地

mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.4.0 -Dclassifier=linux-aarch_64 -Dfile=/usr/local/bin/protoc -DgeneratePom=true -Dpackaging=exe

步骤4           下载grpc-java

git clone https://github.com/google/grpc-java

步骤5           编译grpc-java1.8.0

git checkout v1.8.0

git clean -f

git branch -a

cd compiler

git reset --hard

vim build.gradle

修改源码

步骤6           安装到本地

../gradlew build -x javadoc -x testLiteGolden -x testLiteClasses -Pprotoc=/usr/local/bin/protoc


mvn install:install-file -Dfile=build/artifacts/java_plugin/protoc-gen-grpc-java.exe -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.8.0 -Dclassifier=linux-aarch_64 -Dpackaging=exe


3.3 编译安装grpc-java 1.4

步骤1           下载protobuf 3.3.0(使用3.2下载的源码略过此步骤)

Git clone https://github.com/protocolbuffers/protobuf.git

步骤2           编译protobuf3.3.0

git checkout v3.3.0

git clean -f

git branch -a

./autogen.sh

./configure && make && make install

步骤3           安装到本地

mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=3.3.0 -Dclassifier=linux-aarch_64 -Dfile=/usr/local/bin/protoc -DgeneratePom=true -Dpackaging=exe

步骤4           下载grpc-java(使用3.2下载的源码略过此步骤)

git clone https://github.com/google/grpc-java

步骤5           编译grpc-java1.4.0

git checkout v1.4.0

git clean -f

git branch -a

cd compiler

git reset --hard

vim build.gradle

修改源码

步骤6           安装到本地

../gradlew build -x javadoc -x testLiteGolden -x testLiteClasses -Pprotoc=/usr/local/bin/protoc


mvn install:install-file -Dfile=build/artifacts/java_plugin/protoc-gen-grpc-java.exe -DgroupId=io.grpc -DartifactId=protoc-gen-grpc-java -Dversion=1.4.0 -Dclassifier=linux-aarch_64 -Dpackaging=exe

3.4 编译安装Netty-tcnative-boringssl-static-2.7.0.Final

步骤1           下载netty-tcnative

wget https://codeload.github.com/netty/netty-tcnative/tar.gz/netty-tcnative-parent-2.0.7.Final

mv netty-tcnative-parent-2.0.7.Final netty-tcnative-parent-2.0.7.Final.tar.gz

tar -zxvf netty-tcnative-parent-2.0.7.Final.tar.gz

cd netty-tcnative-netty-tcnative-parent-2.0.7.Final

步骤2           修改配置

Vim pom.xml

修改分支为3071

步骤3           注释373行获取

Vim boringssl-static/pom.xml

修改boringssl-static的pom.xml文件

全局替换

sed -i 's/${uberArch}/x86_64/g' pom.xml

步骤4           修改配置文件

修改uber-staging下的x86为aarch_64

步骤5           下载apr-1.5.2以及openssl1.1.1u

wget https://archive.apache.org/dist/apr/apr-1.5.2.tar.gz

mkdir target

cp apr-1.5.2.tar.gz boring-static/target/

wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz

cp openssl-1.0.1u.tar.gz openssl-static/target/

修改pom.xml文件

步骤6           安装openssl

tar -zxf  openssl-1.0.1u.tar.gz

cd openssl-1.1.1u

./config

make && make install

export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/ssl/include

步骤7           编译

mvn install -DskipTests

mvn install -Puber-staging


3.5 编译安装skywalking

步骤7           下载skywalking

git clone https://github.com/apache/skywalking

步骤8           编译protobuf3.3.0

git checkout v6.4.0

git submodule init

git submodule update

步骤9           编译

mvn package –DskipTests



4        FAQ

4.1 Netty-tcnaticve编译:找不到Openssl头文件&&unsupported relocation

确认本地openssl版本并将头文件添加到环境。

4.2 找不到apr-1.6.3文件

下载apr文件至target目录

wget https://archive.apache.org/dist/apr/apr-1.5.2.tar.gz

cp apr-1.5.2.tar.gz target/


4.3 apm-agent-core编译失败

确认netty-tcnative-boring-static编译成功。可以从/root/.m2/repository/io/netty/netty-tc-native-boring-static目录下解压jar文件查看是否存在这几个文件

或者手动下载https://mirrors.huaweicloud.com/kunpeng/maven/io/netty/netty-tcnative-boringssl-static/2.0.7.Final/so文件至该目录

4.4 Sharding-sphere-4.x编译失败

修改pom配置文件

Vim apm-sniffer/apm-sdk-plugin/sharding-sphere-4.x-plugin/pom.xml

修改apm-sniffer/apm-sdk-plugin/sharding-sphere-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/shardingsphere/v4目录下的三个文件



本页内容