news 2026/9/25 2:57:41

10个使用openYuanrong最容易踩的坑:安装、调用与调试FAQ大全

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10个使用openYuanrong最容易踩的坑:安装、调用与调试FAQ大全

10个使用openYuanrong最容易踩的坑:安装、调用与调试FAQ大全

【免费下载链接】yuanrongopenYuanrong runtime:openYuanrong 多语言运行时提供函数分布式编程,支持 Python、Java、C++ 语言,实现类单机编程高性能分布式运行。项目地址: https://gitcode.com/openeuler/yuanrong

openYuanrong 是一个 Serverless 分布式计算引擎,提供 Python、Java、C++ 多语言函数运行时,让你用类单机的编程体验写出高性能的分布式程序。本文整理了新手在 openYuanrong 安装、集群部署、函数调用和日志调试中最容易踩的 10 个坑,并给出对应的快速解决方法,帮你少走弯路。

一、安装阶段:3 个高频坑

坑 1:装好了却报ModuleNotFoundError: No module named 'yr'

现象:pip 安装成功,但运行 Python 程序时找不到yr模块。

原因:机器上存在多个 Python 版本,程序用的是另一个解释器,而 openYuanrong 装在了别的环境里。

解决方法:用安装 openYuanrong 时对应的 Python 版本运行程序,可用python3.9 -c "import yr; print(yr.__path__[0])"验证 SDK 是否可用。参考 安装 FAQ。

坑 2:whl 包的 Python 版本(cp39/cp310/cp311)没对上

现象:pip 安装时报依赖冲突或No matching distribution。

原因:openYuanrong 要求 Python 版本为>=3.9, <=3.11,且运行时包文件名中的cp39/cp310/cp311必须与你的 Python 小版本一一对应(如 Python 3.10 要选cp310-cp310的 whl)。

解决方法:确认架构(x86_64 / aarch64)和 Python 版本后,从官方发布渠道选择对应 whl 包安装,详见 安装指南。另外按需安装可选组件:C++ 开发装 cpp_sdk 包,开发函数服务装 faas 包,用 Dashboard 装 dashboard 包。

坑 3:Java / C++ 环境不满足编译要求

现象:Java 或 C++ 示例编译、运行失败。

原因:语言环境版本不达标——Java 需要8/17/21,C++ 需要gcc>=10.3.0 且 stdc++>=14。

解决方法:升级工具链后再编译;C++ SDK 头文件与库位于yr包路径下的cpp/include和cpp/lib目录。示例代码可参考 C++ 示例目录 和 Java 示例目录。

二、部署阶段:3 个集群坑

坑 4:防火墙拦截,从节点加入不了集群

现象:yr status查看集群状态,从节点长时间未加入。

原因:主机开启了防火墙,openYuanrong 组件端口网络不通。

解决方法:非生产环境可临时关闭防火墙验证(systemctl stop firewalld);生产环境请逐一放行 openYuanrong 使用的端口。部署拓扑可参考下图:

坑 5:主从节点版本不一致

现象:集群行为异常或从节点无法加入。

原因:主节点与从节点安装的 openYuanrong 版本不同。

解决方法:在每台节点执行pip show yr核对版本,确保所有节点重装为同一版本。

坑 6:环境里有代理,etcd 连接超时

现象:yr status报错:Connect to etcd server failed. context deadline exceeded.

原因:当前环境配置了http_proxy/https_proxy代理,干扰了 etcd 的本地通信。

解决方法:部署与集群内部通信场景下关闭代理配置。生产集群也支持 K8s 方式部署,可参考 K8s 部署文档:

三、函数调用阶段:3 个编程坑

坑 7:忘了yr.init()/yr.finalize()生命周期

现象:首次调用函数连接失败,或进程退出时资源未清理。

原因:openYuanrong SDK 要求"Init 一次"——程序开始时调用yr.init(),结束时调用yr.finalize()。另外注意:在非集群节点上运行且未配置集群地址时,SDK 会自动拉起一个临时环境(进程退出时销毁),调试时会让程序明显变慢。

解决方法:按init → invoke → get → finalize的标准顺序写程序,完整示例见 入门文档。

坑 8:把invoke()的返回值直接当结果用

现象:打印结果是ObjectRef而不是函数返回值。

原因:invoke()是异步调用,返回的是数据对象的一个引用(ObjectRef),不是值本身。

解决方法:用yr.get(results_ref)阻塞获取真实结果。以 Python 为例:

ref = say_hello.invoke('yuanrong') # 返回引用 print(yr.get(ref)) # 阻塞取值:hello, yuanrong

这是新手最常犯的调用坑,Java/C++ 同理(YR.get()/YR::Get())。

坑 9:代理环境变量不生效,yr.init连接集群失败

现象:Driver 里配置了http_proxy/https_proxy,但yr.init仍报failed to connect to all addresses。

原因:openYuanrong 默认不生效http/https 代理配置。

解决方法:额外设置YR_ENABLE_HTTP_PROXY=true环境变量才会启用代理,代理地址支持user:pass@host:port形式。详见 多语言函数编程 FAQ。

四、调试排查阶段:1 个必备技能 + 1 个进阶技巧

坑 10:出问题了不知道去哪找日志

现象:函数调用超时、实例起不来,却找不到报错信息。

原因:没掌握 openYuanrong 的日志与可观测性布局。

解决方法:记住这几个关键位置——

  • 部署日志:/tmp/yr_sessions/latest/deploy_std.log,定位部署问题先看它;
  • 函数日志:log 目录下的{node_id}-user_func_std.log(标准输出合并文件);
  • 组件日志:scheduler、frontend、agent 等各有独立日志,实例未正常拉起时重点看job-{job_id}-runtime-{runtime_id}.log,排查函数包路径等配置错误。

详细日志目录说明见 日志文档。

💡进阶技巧:主节点部署时加上mode.master.dashboard=true等参数,可开启可视化 Dashboard,用集群总览、作业详情、日志收集等页面快速定位问题:

如果调用链路较长,还可以结合 Trace 链路追踪做性能调优:

📋 10 个坑速查表

#阶段坑一句话解法
1安装找不到yr模块用安装 SDK 的同一 Python 版本运行
2安装whl 版本/架构不匹配对齐 cp39-311、x86_64/aarch64
3安装语言环境不达标Java 8/17/21,gcc≥10.3
4部署从节点不加入集群放行防火墙端口
5部署主从版本不一致各节点重装相同版本
6部署etcd 连接超时关闭本地代理配置
7调用生命周期缺失牢记 init → finalize
8调用把引用当返回值用yr.get()取值
9调用代理不生效设置YR_ENABLE_HTTP_PROXY=true
10调试找不到日志看/tmp/yr_sessions/latest/

掌握以上 10 个坑的规避方法,openYuanrong 的安装、调用与调试就能顺畅 90% 以上。更多细节可查阅 常见问题 FAQ 与 入门指南。

【免费下载链接】yuanrongopenYuanrong runtime:openYuanrong 多语言运行时提供函数分布式编程,支持 Python、Java、C++ 语言,实现类单机编程高性能分布式运行。项目地址: https://gitcode.com/openeuler/yuanrong

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 2:56:57

win10添加自定义右键菜单:用TaoToken统一管理注册表脚本与AI配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/25 2:56:21

ozon软件选品上架工具

Ozon跨境平台是俄罗斯的电商平台&#xff0c;erp软件是主要服务于Ozon卖家管理店铺和选品上架。实现产品的采集&#xff0c;编辑&#xff0c;刊登上架&#xff0c;订单同步&#xff0c;数据统计。以及跟卖&#xff0c;数据分析的一体化运营软件。1Ozon自建铺货上架支持采集国内…

作者头像 李华
网站建设 2026/9/25 2:55:13

PL2303HXA驱动安装失败原因与万能INF修复方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华