当前位置: 首页 > 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.jsqmd.com/news/1097312/

相关文章:

  • 如何高效提取Wallpaper Engine资源:3个实际场景的完整解决方案
  • 数字政府人工智能公共支撑平台API的使用
  • 5分钟掌握无人机强化学习仿真:gym-pybullet-drones终极指南
  • npm招聘钓鱼攻击实战:一条私信触发npm install中招全程拆解
  • 如何3分钟掌握BiliDownloader:终极B站视频下载解决方案
  • ModelEngine实战教程:10步完成从数据处理到AI应用落地的完整流程
  • 全网最全 Codex 插件使用指南:从入门到榨干
  • 小龙虾技能-04-web-frontend-04_ReactComponent_组件生成
  • 【VMware磁盘瘦身终极指南】:3步释放50%以上闲置空间,90%管理员都忽略的压缩黑科技
  • cci-job-client深度解析:3个核心脚本实现Linux内核性能测试自动化
  • 智慧树自动刷课插件终极指南:3分钟实现学习效率300%提升
  • NVIDIA Profile Inspector:如何深度定制显卡驱动配置文件来优化游戏性能
  • 别再花钱买数据了!用Python+Baostock免费获取A股历史K线(附完整代码)
  • 告别手动点击!用Python脚本批量下载Synapse数据(附完整代码与Token获取指南)
  • 从0到1:PilotGo-plugin-llmops在生产环境中的部署与优化
  • YOLOv8的C2f模块代码逐行解析:从PyTorch实现到自定义修改实战
  • witty-profiler实战教程:5步定位AI训练中的性能瓶颈
  • 用Python字典搞定股票、超市、银行数据?手把手教你玩转头歌平台实战题
  • openEuler env_check系统健康检查工具:核心功能与架构解析
  • NVMe-snsd配置详解:从BASE到DC/SW字段的完整参数手册 [特殊字符]
  • 2026视频去水印方法免费实用教程,手机电脑在线工具对比及合法须知
  • 5分钟解决GitHub英文界面困扰:中文插件让编程学习零门槛
  • LibreTranslate:构建企业级私有化翻译API的3个关键技术方案
  • 2026免费图片去水印工具推荐!手机电脑在线无广告全攻略
  • 拉罗替尼与恩曲替尼同靶NTRK,脑转移患者颅内疗效谁更强
  • 实战教程:使用NVMe-snsd构建高可用存储网络架构
  • DLSS Swapper完全指南:智能切换游戏超采样技术,轻松提升画质与性能
  • 5分钟掌握BilibiliDown:一款高效的B站视频下载工具
  • OpenDesign Components 核心特性揭秘:皮肤定制与 TypeScript 无缝集成
  • openEuler容器镜像与虚拟机镜像发布流程:技术委员会的标准制定