【Devkit迁移工具体验】手把手带你体验迁移工具 - kafka软件包重构
收藏回复举报
【Devkit迁移工具体验】手把手带你体验迁移工具 - kafka软件包重构
新人帖
发表于2023-03-08 19:12:39
0 查看

各位同学大家好,欢迎大家参加Devkit迁移工具的体验活动,我是本期活动的分享嘉宾。接下来我将给大家分享一下如何使用Devkit迁移工具对kafka软件进行软件包重构。

看到这里大家可能会有这样的疑问,我们为什么要进行软件包重构呢?不能直接下载软件使用嘛?为了让大家更好的了解这个问题,给大家举一个例子,大家应该都在电脑上安装过软件,心细的同学可能会发现,很多软件都提供了X86版本和ARM版本,如果你买的是苹果笔记本,是无法安装X86版本的软件的,这其实就是芯片架构的问题,苹果笔记本使用的是和鲲鹏一样的ARM芯片架构,是没有办法直接使用X86版本的软件的。

这就涉及到了我们鲲鹏架构和传统X86架构之间的差异。鲲鹏和传统X86的最根本的区别两者的指令集方面是不同的(X86是复杂指令集、鲲鹏使用精简指令集),一样的代码c=a+b,经过编译后,在不同的芯片架构下转换成的不同的机器码,从而不能交叉运行。相应的的编译选项,语言表现也有所差异。

cke_4860.png

为了解决平台差异问题,Devkit推出了迁移工具帮助用户进行迁移,迁移工具提供了五大迁移功能,帮助用户简单方便的将软件迁移到鲲鹏平台上进行使用:

20230308-192119(WeLinkPC).png

一个待迁移的系统往往是由很多个复杂的子组件组成的,除了自己开发的源代码,还有引用的各种依赖软件,使用Devkit迁移工具会使整个系统迁移工作更加简单高效,首先用户可以进行软件迁移评估,将待迁移的软件包传入,获取so依赖库兼容信息、工作量预估信息等多项关键数据,方便后续重构功能的使用。

之后再根据子组件的情况使用不同的重构功能,如果待迁移的子组件是C/C++编写的软件,同时可以获取到源码包,则可以使用源代码迁移功能进行源码级别迁移,迁移结束后还可以使用鲲鹏亲和分析进行扫描,修复其中的变量对齐、内存一致性等问题、提升软件的性能和稳定性;除了源码级的重构,迁移工具还提供了软件包重构功能,将用户的X86软件包重构为适用于鲲鹏平台的软件包;同时针对工程和科研领域的一些常用软件,用户可以直接使用专项软件迁移功能获取迁移好的软件包直接使用,一步到位完成迁移。

kafka重构为适用于鲲鹏平台的软件包就需要用到图中提到的软件迁移评估功能和软件包重构功能,Kafka是一个分布式数据流处理平台,可以实时发布、订阅、存储和处理数据流,为了体验Kafka的软件包重构,我们需要进行以下几项工作:

  • 准备工作
  1. 下载Kafka待迁移软件包,解压Kafka的软件包文件到本地
  2. 申请鲲鹏远程实验室资源
  3. 安装体验过程需要的依赖软件
  • 软件包重构工作
  1. 使用软件迁移评估功能,获取kafka的可替换的依赖文件
  2. 使用软件包重构功能,利用刚刚获取的替换依赖文件,对kafka软件包进行重构

下面我将详细展开具体操作过程。

一、准备工作

 1、下载Kafka待迁移软件包,解压软件压缩包文件到本地

首先,我们点击下载链接,从鲲鹏社区中下载kafka待迁移软件包,将压缩包解压到本地路径:

https://kunpeng-repo.obs.cn-north-4.myhuaweicloud.com:443/video/kafka软件包重构.rar

2、申请鲲鹏远程实验室资源

软件包重构的过程需要在鲲鹏平台上完成,因此我们需要申请鲲鹏远程实验室的服务器资源。这个时候有的同学可能会头疼了,我没有操作过服务器呀,应该怎么去做呀?通过黑框操作服务器好不方便,太麻烦了。

为了降低大家在鲲鹏平台上体验的使用门槛,我们推出了云开发环境,首先申请简单,输入邮箱地址后就可以申请到鲲鹏远程实验室资源,其次操作简单,申请完成后可以直接通过在线IDE的方式打开页面进行操作。整个体验就突出两个字,顺滑!

首先我们访问鲲鹏社区的远程实验室页面https://www.hikunpeng.com/zh/developer/cloud-lab,申请云开发环境:

cke_24528.png

之后我们输入自己的邮箱地址,选择openEuler 20.03 LTS-SP3系统,因为专项软件迁移功能体验过程相对简单,1天的体验时间完全足够,这样也方便后面体验的小伙伴快速申请到体验资源。申请成功后我们点击“打开在线IDE”按钮,进入云开发环境中,云开发环境给大家提供了在线Vscode页面,方便我们直接在鲲鹏上进行开发。

cke_33763.png

3、安装依赖软件

进入到在线开发页面后,为了体验软件包重构的过程,我们需要在环境中安装rpmrebuild软件包,确保后续重构扫描可以正常进行,依次点击“终端”、“新建终端”,打开远程IDE的终端

之后在下方弹出的终端页面中输入命令ssh root@IP address后,输入yes进行指纹确认,再输入SSH密码,切换至root用户(环境申请成功后,会向申请邮箱中发送邮件,密码需要从邮件中获取),这里大家注意2个事情:

  1. IP地址要换成自己云开发环境的IP地址,打开终端后就会在下图中的对应位置上显示
  2. 服务器用户密码属于隐私信息,因此大家在输入的时候屏幕不会显示输入的信息,大家不必疑惑,正常完成输入后按下回车就好。

cke_54525.png

之后在控制台中输入yum install rpmrebuild安装依赖组件,出现Complete!时即为安装成功。

cke_62415.png

二、软件包重构工作

1、进行软件迁移评估,获取kafka可替换的依赖文件

完成上述工作后,现在就可以开始我们的重构体验了。我们点击鲲鹏代码迁移插件的图标,点击登录后勾选“我已阅读并同意”,点击“确认”,登录代码迁移工具。

cke_69830.png

我们先进行软件迁移评估,先看一下迁移过程可能需要哪些,点击左上角的软件迁移评估旁边的按钮创建任务,勾选“分析软件包”,点击“上传”,选中之前解压好的kafka-2.4.1-1.el7.noarch.rpm,点击“开始分析”,等待分析结束后查看分析报告

cke_77697.png

从报告中可以发现rocksdbjni-5.18.3.jar可以进行兼容替换,我们点击旁边的下载按钮将jar包下载到本地。

cke_93458.png

此时我们的软件迁移评估工作就完成了,我们现在得到了可以兼容替换的依赖文件rocksdbjni-5.18.3.jar

2、使用软件包重构功能对kafka软件包进行重构

现在我们创建软件包重构任务,点击“上传”,上传待重构软件包kafka-2.4.1-1.el7.noarch.rpm至服务器,点击“下一步”,进入“配置依赖文件”步骤,上传刚刚下载的依赖文件rocksdbjni-5.18.3.jar

cke_101068.png

cke_108765.png

勾选“授权访问外部网络获取重构软件包需要的依赖文件”,以允许工具在重构过程中自动连接到各OS发行版的官方网站或者鲲鹏Maven仓库在华为云镜像源上的下载地址下载需要的依赖文件。之后点击下一步进入“执行重构”步骤,这里需要再进行最后一次确认才能开始重构操作。

cke_117765.png

重构动作完成后,我们可以得到构建完成的软件包保存的路径,此时kafka软件的软件包重构就已经成功了。

cke_125598.png

到这里整个实验流程就已经结束了,我们拿到了重构好的kafka安装包。

看完这篇经验贴,感兴趣的小伙伴可以参考上面的迁移部署过程完成sqoop软件的软件包重构,也可以深度体验DevKit迁移工具的其他功能,sqoop待迁移软件包下载地址:

https://kunpeng-repo.obs.cn-north-4.myhuaweicloud.com:443/video/sqoop软件包重构.rar

同时同学们还可以去体验我们迁移工具的沙箱实验cid:link_3,完成迁移工具的微认证课程及考试cid:link_2,更进一步的了解和掌握Devkit迁移工具的使用,学习到更多的新知识,祝大家学习顺利,收获满满!

欢迎大家在社区中发帖,讲一讲自己使用DevKit迁移工具的过程与心得,给我们后来的小伙伴们提供一些指导与帮助。

【温馨提醒】

完成体验过程的小伙伴可以回到云开发服务资源申请页面,点击释放资源,将服务器资源留给后续的同学进行体验。在申请时间内没有完成体验的同学可以点击续约按钮延长服务器资源的使用时间。

cke_133364.png

本帖最后由 匿名用户2025/04/02 11:20:30 编辑

我要发帖子