开发者
鲲鹏环境下源码编译flink-shaded-netty-4.0.27.Final-1.0参考
鲲鹏环境下源码编译flink-shaded-netty-4.0.27.Final-1.0参考
发表于2024/03/30
261

1 介绍

大数据组件flink-shaded-netty module。

2 环境要求

硬件要求如表2-1所示。

表2-1 硬件要求

项目

说明

服务器

Taishan服务器

CPU

鲲鹏920处理器 或 鲲鹏916处理器

磁盘分区

对磁盘分区无要求

网络

可访问外网

软件要求

表2-2 软件要求

项目

说明

CentOS

7.6

OS Kernel

4.14.0

GCC

4.8.5

Openjdk

1.8.0_252

Maven

3.5.4

Protobuf

2.5.0

netty-all

4.0.27.Final

3 配置编译环境

3.1 安装基础库

                                步骤 1      安装gcc等相关软件。

确保有外网环境后,执行

yum -y install gcc.aarch64 gcc-c++.aarch64 gcc-gfortran.aarch64 libgcc.aarch64XXXX

                                步骤 2      解决-fsigned-char问题(修改gcc)

a、寻找gcc所在路径(一般位于“/usr/bin/gcc”)。

command -v gcc

b、更改gcc的名字(例如改成gcc-impl)。

mv /usr/bin/gcc /usr/bin/gcc-impl

c、新建gcc文件。

vi /usr/bin/gcc

d、填入如下内容保存。

#! /bin/sh

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

e、给脚本添加执行权限。

chmod +x /usr/bin/gcc

f、确认命令是否可用。

gcc --version

                                步骤 3      解决-fsigned-char问题(修改g++)

a、寻找gcc所在路径(一般位于“/usr/bin/g++”)。

command -v g++

b、更改g++的名字(例如改成g++-impl)。

mv /usr/bin/gcc /usr/bin/g++-impl

c、新建g++文件。

vi /usr/bin/g++

d、填入如下内容保存。

#! /bin/sh

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

e、给脚本添加执行权限。

chmod +x /usr/bin/g++

f、确认命令是否可用。

g++ --version

                                步骤 4      安装依赖

yum安装依赖的相关软件。

yum install -y wget vim openssl-devel zlib-devel automake libtool make  libstdc++-static glibc-static git snappy snappy-devel fuse fuse-devel

----结束

3.2 安装OpenJDK

                                步骤 1      下载并解压安装到指定目录(此处以指定“/opt/tools/installed”目录为例)

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

tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz

mkdir -p /opt/tools/installed/

mv jdk8u252-b09 /opt/tools/installed/

                                步骤 2      配置Java环境变量

vim /etc/profile

在文件末尾添加如下代码。

export JAVA_HOME=/opt/tools/installed/jdk8u252-b09

export PATH=$JAVA_HOME/bin:$PATH

                                步骤 3      使修改的环境变量生效

source /etc/profile

                                步骤 4      查看配置是否生效

3.3 安装Maven

                                步骤 1      下载并安装到指定目录(此处以指定“/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/

                                步骤 2      修改Maven环境变量

vim /etc/profile

在“/etc/profile”文件末尾增加下面代码。

export MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4

export PATH=$MAVEN_HOME/bin:$PATH

                                步骤 3      使修改的环境变量生效

source /etc/profile

                                步骤 4      查看配置是否生效。

mvn -v

                                步骤 5      查看配置是否生效。

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

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

远程仓库配置(修改成自己搭建的Maven仓库,如果没有,可以按照下面示例配置),在<mirrors>标签内添加以下内容:

<mirror>

  <id>huaweimaven</id>

  <name>huawei maven</name>

  <url>https://mirrors.huaweicloud.com/repository/maven/</url>

  <mirrorOf>central</mirrorOf>

</mirror>

若编译环境需要代理才能访问外网,需要在settings.xml配置文件中添加代理配置,具体内容如下:

<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 安装Protobuf

                                步骤 1      查看配置是否生效。

yum install -y protobuf protobuf-devel

                                步骤 2      通过执行以下命令,指定安装的Protoc可执行文件

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

4 编译

4.1 编译netty-all-4.0.27.Final

                                步骤 1      按xxx指导编译netty-all-4.0.27.Final

4.2 编译flink-shaded-netty

                                步骤 1      下载flink-shaded-1.0安装包。

wget https://github.com/apache/flink-shaded/archive/1.0.tar.gz

                                步骤 2      解压安装包。

tar -zxf 1.0.tar.gz

                                步骤 3      进入解压后目录

cd flink-shaded-1.0

                                步骤 4      执行编译

编译打成jar包,flink-shaded-netty-4.0.27.Final-1.0.jar放置于“flink-shaded-netty-4/target”目录。

mvn clean install -pl flink-shaded-netty-4

                                步骤 5      使用鲲鹏分析扫描工具扫描编译生成的jar包,确保没有包含有x86的so和jar包。

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