当前位置: 首页 > news >正文

openeuler/uadk-bigdata开发者指南:从编译源码到贡献代码的全流程攻略

openeuler/uadk-bigdata开发者指南:从编译源码到贡献代码的全流程攻略

【免费下载链接】uadk-bigdataUADK is a general-purpose user space accelerator framework that uses the SVA technology to provide a unified programming interface for hardware acceleration computing cryptography and compression algorithms. Uadk-bigdata provides uadk solution in bigdata scenario.项目地址: https://gitcode.com/openeuler/uadk-bigdata

前往项目官网免费下载:https://ar.openeuler.org/ar/

openEuler/uadk-bigdata是基于UADK(用户空间加速器框架)的大数据场景解决方案,通过SVA技术为硬件加速计算、加密和压缩算法提供统一编程接口,帮助开发者在鲲鹏平台上构建高性能的大数据应用。本文将带你完成从环境准备到代码贡献的完整开发流程,让你快速掌握这个强大工具的使用方法。

一、环境准备:构建你的开发基石 🛠️

1.1 硬件与操作系统要求

开发uadk-bigdata需要满足以下环境要求:

  • 硬件:鲲鹏920处理器(确保硬件加速功能已开启)
  • 操作系统:openEuler 24.03 LTS
  • 工具链:Docker、Git、Maven等基础开发工具

图1:UADK软件栈架构示意图,展示了从硬件到应用的完整加速路径

1.2 源码获取

首先通过Git克隆项目仓库:

git clone https://gitcode.com/openeuler/uadk-bigdata cd uadk-bigdata

项目主要目录结构说明:

  • patches/:包含对BishengJDK等依赖的补丁
  • script/:测试和部署脚本
  • pictures/:项目相关图片资源
  • slides/:性能测试结果和技术分享幻灯片

二、核心组件编译:一步步搭建加速环境 ⚙️

2.1 UADK框架编译

UADK是整个加速方案的核心框架,编译步骤如下:

  1. 安装依赖
sudo yum install -y numactl-devel
  1. 编译与安装
cd uadk ./autogen.sh ./conf.sh make -j 128 sudo make install
  1. 验证安装
uadk_tool benchmark --alg sm4-128-ctr --mode sva --seconds 5

成功执行后会显示SM4算法的性能数据,如吞吐量和CPU占用率。

2.2 BishengJDK编译(含KAEProvider)

KAEProvider是Java应用使用UADK加速的关键组件:

  1. 准备编译环境
# 使用项目提供的Dockerfile构建环境 docker build -f Dockerfile.ubuntu.2204.uadk-dev . -t uadk-jdk-dev:ubuntu.2204
  1. 编译命令
bash ./configure --enable-kae --with-boot-jdk=/path/to/bootjdk make all JOBS=128
  1. 配置Java安全提供器: 修改${JAVA_HOME}/lib/security/java.security文件,添加:
security.provider.1=org.openeuler.security.openssl.KAEProvider

2.3 OpenSSL 3.0与UADK Provider编译

为OpenSSL添加UADK硬件加速支持:

  1. 编译OpenSSL
./Configure enable-md2 make -j 100 sudo make install
  1. 编译UADK Provider
cd uadk_engine autoreconf -i ./configure make sudo make install
  1. 验证Provider加载
openssl list -provider uadk_provider -all-algorithms | grep uadk

三、大数据环境部署:Hadoop与HBase集成 📊

3.1 Hadoop伪分布式部署

  1. 创建Hadoop用户
sudo adduser hadoop sudo usermod -aG wheel hadoop
  1. 配置SSH免密登录
ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. 修改Hadoop配置文件: 核心配置文件包括core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml,具体配置可参考项目文档BuildHadoopEnvironment.md。

  2. 启动Hadoop并验证

start-all.sh jps

成功启动后会显示NameNode、DataNode等6个进程。

图2:Hadoop伪分布式启动后的进程列表

3.2 HBase部署与UADK加速配置

  1. 部署HBase
tar -zxvf hbase-2.5.7-bin.tar.gz cd hbase/conf

修改hbase-env.shhbase-site.xml配置文件,详细步骤见BuildHbaseEnvironment.md。

  1. 配置UADK压缩加速
# 替换Hadoop native zlib库 ln -s /usr/local/lib/libzuadk.so $HADOOP_HOME/lib/native/libz.so.1
  1. 验证加速效果
hbase pe --rows=1000 increment 10

通过对比加速前后的性能数据,验证UADK对HBase的加速效果。

图3:UADK加速前后HBase性能对比

四、代码贡献:成为开源社区一员 🤝

4.1 贡献流程

  1. ** Fork项目**:在GitCode上Fork uadk-bigdata仓库
  2. 创建分支:基于develop分支创建特性分支
git checkout -b feature/your-feature-name
  1. 提交代码:遵循项目编码规范,提交清晰的commit信息
  2. 创建PR:提交Pull Request到主仓库,描述功能和测试情况

4.2 补丁提交规范

项目补丁文件位于patches/目录,遵循以下规范:

  • 补丁命名格式:000X-brief-description.patch
  • 每个补丁专注于单一功能或修复
  • 包含清晰的 commit 信息,说明修改目的和影响

4.3 测试与文档

  • 所有功能需配套单元测试
  • 更新相关文档,如Quick.Start.Guide.md
  • 性能测试结果添加到slides/目录

五、常见问题与解决方案 🚩

5.1 UADK硬件加速未生效

  • 检查BIOS设置,确保SMMU和加速引擎已启用
  • 验证环境变量配置:
source ./build-containers/metadata/uadk-set-env.sh
  • 查看加速器寄存器状态:
cat /sys/kernel/debug/hisi_sec2/*/qm/regs | grep QM_DFX_DB_CNT

5.2 HBase启动失败

  • 检查Zookeeper连接状态
  • 确认Hadoop集群正常运行
  • 查看HBase日志定位问题:tail -f $HBASE_HOME/logs/*

5.3 性能测试数据异常

  • 确保测试环境负载稳定
  • 检查资源限制,如CPU、内存和IO
  • 参考Performance.testing.md的测试方法

六、总结与资源 📚

通过本文指南,你已掌握从源码编译到代码贡献的完整流程。uadk-bigdata项目为大数据应用提供了高效的硬件加速方案,尤其在加密和压缩场景下能显著提升性能。

相关资源

  • 项目文档:README.md
  • 快速入门:Quick.Start.Guide.md
  • 性能测试:Performance.testing.md
  • UADK核心文档:uadk.md

加入openEuler/uadk-bigdata社区,一起构建高性能的大数据加速平台!无论是功能开发、性能优化还是文档完善,你的每一份贡献都将推动项目发展。

【免费下载链接】uadk-bigdataUADK is a general-purpose user space accelerator framework that uses the SVA technology to provide a unified programming interface for hardware acceleration computing cryptography and compression algorithms. Uadk-bigdata provides uadk solution in bigdata scenario.项目地址: https://gitcode.com/openeuler/uadk-bigdata

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.gsyq.cn/news/1609277.html

相关文章:

  • 5分钟掌握无人机强化学习仿真:gym-pybullet-drones终极指南
  • 小龙虾技能-04-web-frontend-04_ReactComponent_组件生成
  • cci-job-client深度解析:3个核心脚本实现Linux内核性能测试自动化
  • 用Python字典搞定股票、超市、银行数据?手把手教你玩转头歌平台实战题
  • openEuler env_check系统健康检查工具:核心功能与架构解析
  • 2026免费图片去水印工具推荐!手机电脑在线无广告全攻略
  • 用Python+Excel搞定湖泊水质评价:手把手教你实现TSI指数自动计算(附完整代码)
  • Storprototrace架构设计揭秘:eBPF如何实现无侵入式存储协议追踪
  • 如何快速上手cu-cockpit:10分钟完成部署与基础配置
  • sysSentry社区贡献指南:从用户到开发者的完整成长路径
  • 微信好友检测工具:3分钟识别谁已悄悄离开你的朋友圈
  • 告别乱糟糟的界面!用Qt网格布局(QGridLayout)5分钟搞定一个QQ登录窗口
  • oec-hardware测试模块全解析:CPU、内存与存储兼容性验证终极指南
  • OpenDesign Components 完全指南:Vue 3 企业级组件库的终极解决方案
  • sbom-service软件成分分析实战:从源码到SBOM的完整流程
  • 大麦网抢票终极指南:5分钟配置Python自动化抢票脚本
  • 新手入门:oec-hardware安装与配置的5个关键步骤
  • 【学习记录】Week3(四):沙箱突围——ORW 学习路径索引与实战规划
  • openeuler/pkgship-panel使用指南:一站式解决软件包构建异常监控与通知
  • GitHub Copilot 用户突破 2000 万之后:AI 编程助手在企业级落地的真实收益与隐性成本
  • G-Helper:3步快速掌握华硕笔记本硬件控制的终极方案
  • 猫抓浏览器扩展:一站式网页资源嗅探下载终极指南
  • openEuler/bigdata社区参与指南:如何成为开源大数据贡献者
  • BetterJoy:让Switch控制器在PC上重获新生的终极方案
  • 解锁网易云音乐NCM格式:从平台专属到通用音频的完整指南
  • 从源码到应用:Kiran Session Guard 编译与安装完全教程
  • GLM 5.2 击败 Claude:国产大模型在网络安全基准测试中的逆袭
  • 1数据分析前置条件【2026.6.29】
  • [实战] 2026年扫描图纸怎么添加气泡?高效率FAI检验计划编制指南
  • Metasploit实战:从MS08-067到Shellshock,8大高危漏洞深度复现与原理剖析