当前位置:   article > 正文

gpg 中标麒麟获取 密钥失败_Kafka-2.11-1.1.0移植指南 for 中标麒麟7.5【鲲鹏920(ARM64)】...

gpg keys are configured as: file:///etc/pki/rpm-gpg/rpm-gpg-key-kylin

1简介

Apache Kafka是一个开源流处理软件平台,用Scala和Java编写。该项目旨在提供统一、高吞吐量、低延迟的平台,用于处理实时数据馈送。它的存储层本质上是一个大规模可扩展设计为分布式事务日志的发布/订阅消息队列。

类别:开源流处理平台

语言:Scala/Java

2环境

类别

子项

版本

获取地址(方法)

硬件

CPU

Kunpeng 920

iBMC

网络

Ethernet-10GE

iBMC

存储

SATA 4T

iBMC

内存

xxG xxxMHz

iBMC

OS

NeoKylin

7.5

cat /etc/neokylin-release

Kernel

4.14.0

cat /proc/version

软件

GCC

4.8.5

gcc -v

OpenJDK

1.8.0_191

参考下面安装说明

Kafka

2.11-1.1.0

参考下面安装说明

3依赖安装

3.1安装OpenJDK

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

【注】:使用系统自带Openjdk软件包可以通过执行“yum -y installjava-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/NeoKylin/nsV7Update5-adv-lic-build05-aarch64.iso /mnt/NeoKylin/

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

[ns7-adv-os]

name=NeoKylin Linux Advanced Server 7 - Os

baseurl= file:///mnt/NeoKylin

gpgcheck=0

gpgkey=file:///mnt/NeoKylin/RPM-GPG-KEY-neokylin-release

enabled=1

运行下面的命令,使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安装gradle编译软件

1、下载grade开源软件包

wget   https://downloads.gradle.org/distributions/gradle-5.4.1-bin.zip

2、解压gradle-5.4.1-bin.zip

unzip gradle-5.4.1-bin.zip

3、进入解压路径

cd gradle-5.4.1/

4、将GRADLE_HOME配置到/etc/profile环境变量中

vi /etc/proflile

5、使GRADLE_HOME环境变量生效

source /etc/proflile

3.4安装编译gradle-scoverage

1、下载gradle-scoverage开源软件包

wget   https://github.com/scoverage/gradle-scoverage/archive/3.1.3.tar.gz

2、解压3.1.3.tar.gz

tar zxvf 3.1.3.tar.gz

3、进入解压路径

cd gradle-scoverage-3.1.3/

4、使用gradle编译gradle-scoverage-3.1.3

gradle assemble

3.5安装编译shadow

1、下载shadow开源软件包

wget https://github.com/johnrengelman/shadow/archive/5.0.0.tar.gz

2、解压5.0.0.tar.gz

tar zxvf 5.0.0.tar.gz

3、进入解压路径

cd shadow-5.0.0/

4、使用gradle编译shadow-5.0.0

gradle assemble

3.6安装scala软件

1、下载scala安装软件包

wget   https://downloads.lightbend.com/scala/2.11.11/scala-2.11.11.tgz

2、解压scala-2.11.11.tgz

tar zxvf scala-2.11.11.tgz -d /usr/local

3、将SCALA_HOME配置到/etc/profile环境变量中

vi /etc/proflile

增加如下内容

export   SCALA_HOME=/usr/local/scla-2.11.11

export PATH=$PATH:$SCALA_HOME/bin

5、使SCALA_HOME环境变量生效

source /etc/proflile

3.7对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移植分析

使用checkSo工具(获取地址:https://bbs.huaweicloud.com/forum/thread-22679-1-1.html)检查Kafka-2.11-1.1.0对应x86的安装包(kafka_2.11-1.1.0.tgz)或源码包是否有依赖x86的so文件,通过检查Kafka-2.11-1.1.0对应x86安装包发现有依赖的“librocksdbjni32.so,rocksdbjni-5.7.3.jar”、“librocksdbjni64.so,rocksdbjni-5.7.3.jar”和“librocksdbjnile.so,rocksdbjni-5.7.3.jar”:

需要先编译rocksdbjni-5.7.3.jar使其中包含的librocksdbjni32.so、librocksdbjni64.so和librocksdbjnile.so使能arm,编译过程见“”。

5依赖库编译

1、编译rocksdbjni-5.7.3.jar

1)下载源码并解压

wget   https://codeload.github.com/facebook/rocksdb/zip/v5.7.3

mv   v5.7.3 rocksdbjni-5.7.3.zip

unzip   rocksdbjni-5.7.3.zip

2)、进入解压目录

cd rocksdb-5.7.3/

3)、修改Makefile

将DEBUG_LEVEL设为0,并添加-fsigned-char选项

4)、编译rocksdbjava

PORTABLE=1   make rocksdbjava -j8

5)、进入编译结果路径

cd   java/target/

6)、重命名rocksdbjni-5.7.3-linux64.jar并将其拷贝到本地gradle仓

cp   rocksdbjni-5.7.3-linux64.jar rocksdbjni-5.7.3.jarcp rocksdbjni-5.7.3.jar   /gradleRepository/caches/modules-2/files-2.1/org.rocksdb/rocksdbjni/5.7.3/421b44ad957a2b6cce5adedc204db551831b553d/

6编译安装

1、从github网站下载源码并解压

wget   https://archive.apache.org/dist/kafka/1.1.0/kafka-1.1.0-src.tgz

tar   zxvf kafka-1.1.0-src.tgz

2、进入解压目录

cd   kafka-1.1.0-src/

3、修改build.gradle

vi build.gradle

把gradle-scoverage、shadow的版本修改成当前使用的版本,注释红框内注释行,并添加

classpath   'org.scoverage:gradle-scoverage:3.1.3'

classpath   'com.github.jengelman.gradle.plugins:shadow:5.0.0'

4、执行gradle -g /$UserHome/gradleRepository clean

gradle   -g /$UserHome/gradleRepository clean

5、执行gradle -g /$UserHome/gradleRepository releaseTarGz -info

gradle   -g /$UserHome/gradleRepository releaseTarGz -info

6、查看编译的文件

cd   core/build/distributions/

7验证

1、编译验证

使用checkSo工具(获取地址:https://bbs.huaweicloud.com/forum/thread-22679-1-1.html)检查编译后的kafka_2.11-1.1.0.tgz是否不再含有依赖的x86架构的so文件,检查方法参考工具中的 《CheckSo使用说明.docx》,如果还有依赖的x86架构的so文件,则需要继续完成对应jar包的编译,直到无依赖的x86架构的so文件后,再次编译该组件并通过checkSo工具检查确认,编译后的组件包不再有依赖的x86架构的so文件则表明编译成功。

2、功能验证

8参考信息

9FAQ

暂无。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/285487
推荐阅读
相关标签
  

闽ICP备14008679号