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

详细介绍:【Kylin V10】Ambari3.0.0 安装 Unexpected error Ambari repo file path not set for current OS 报错解决

在这里插入图片描述
在这里插入图片描述
我们计划近期上线kylin 版本的 Ambari+Bigtop。尽情期待!

也可以看这里 https://doc.janettr.com/install/manual/

一、先看结论

通过在代码中增加对 Kylin V10 的识别逻辑,
Ambari 已能正确识别系统为 RedHat 家族,并顺利执行 ambari-server setup

验证输出如下:

family = redhat
is_redhat_family = True

执行结果:

改造成功图

二、问题现象

在 Kylin V10 环境执行 Ambari 初始化命令时:

ambari-server setup --java-home /usr/jdk64/jdk17 --stack-java-home /usr/jdk64/jdk1.8

屏幕输出如下:

image-20250929160542690

Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? n
ERROR: Unexpected error Ambari repo file path not set for current OS.
ERROR: Exiting with exit code 1.
REASON: Failed to create user. Exiting.
expect: spawn id exp5 not open
while executing
"expect "Enter advanced database configuration""
Authorized users only. All activities may be monitored and reported.

报错说明
Ambari 无法识别当前系统的 repo 管理器类型(yum/apt/zypper),
因此无法定位 ambari.repo 的路径,导致安装初始化中断。

三、源码追踪:异常触发位置

查看堆栈日志与源码,可发现错误来自:

image-20251014173322727

关键函数如下:

def get_ambari_repo_file_full_name():
if OSCheck.is_ubuntu_family():
ambari_repo_file = "/etc/apt/sources.list.d/ambari.list"
elif OSCheck.is_redhat_family():
ambari_repo_file = "/etc/yum.repos.d/ambari.repo"
elif OSCheck.is_suse_family():
ambari_repo_file = "/etc/zypp/repos.d/ambari.repo"
elif OSCheck.is_windows_family():
ambari_repo_file = os.path.join(
os.environ[ChocolateyConsts.CHOCOLATEY_INSTALL_VAR_NAME],
ChocolateyConsts.CHOCOLATEY_CONFIG_DIR,
ChocolateyConsts.CHOCOLATEY_CONFIG_FILENAME,
)
else:
raise Exception("Ambari repo file path not set for current OS.")
return ambari_repo_file

由此可见,当 is_redhat_family() 返回 False 时,Ambari 就会直接抛出此异常。

四、根因剖析:OSCheck 未识别 Kylin 系统

Ambari 的 OSCheck 模块用于判断系统属于哪个发行版家族:

  • 仅识别 redhat、centos、rhel、ubuntu、suse、debian 等主流;
  • Kylin V10(中科麒麟)虽然基于 RHEL,但其 /etc/os-release 中标识为:

/etc/os-release(Kylin V10)

NAME="Kylin Linux Advanced Server"
VERSION="V10 (Lance)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Lance)"

因此,Ambari 的 get_os_family() 返回值为 unknown
从而导致 repo 路径无法确定,抛出异常。

五、修复思路:让 Ambari 识别 Kylin 属于 RedHat 家族

温馨提示
由于改造的地方较多,需要重新编译生效,纯改python不会生效,请继续阅读 not set for current OS 其他章节,跟着步骤解决 戳我查看

在这里插入图片描述

六、验证与改造结果

输出结果如下:

dist = ('kylin', 'V10', 'Halberd')
type = kylin
family = redhat
is_redhat_family = True

改造后输出结果图

此时 ambari-server setup 已可顺利执行,
系统被识别为 RedHat 系列,Ambari 初始化阶段恢复正常。

http://www.zskr.cn/news/47520.html

相关文章:

  • 实战干货:Apache DolphinScheduler 参数使用与优化总结
  • 实用指南:Rust Slint实现列表式消息提示(Notification Dialog)源码分享
  • RED 状态
  • EMS4100N芯祥科技USB3.1高速双向模拟开关芯片资料,可pin对pin替代ASW3410
  • 2025年网络攻防领域常用工具、软件及其应用场景
  • NSIS启动前检测字体缺失,静默安装字体
  • github action 个人项目实践
  • 2025年1.5吨蒸汽发生器源头厂家权威推荐榜单:优质蒸汽发生器/商用蒸汽发生器/暖特加蒸汽发生器源头厂家精选
  • 10分钟搞懂!化学人刚需的6大核心期刊
  • 2025-2026年水质测定仪品牌推荐:总磷/总氮/氨氮/COD测定仪哪个品牌好?
  • 2025年电镜实验室安装订做厂家权威推荐榜单:电镜实验室设计/电镜安装/电镜实验室建设源头厂家精选
  • 激光二极管增透膜技术:提升光学性能的关键方案
  • 【传奇开心果系列】基于Flet框架实现的桌面代码登录验证和SQLite 数据库结合实现数据持久化和多页面导航自定义组件模板特色和达成原理深度解析
  • 2025预埋件/幕墙/钢结构预埋件厂家推荐鑫诚源,专业生产各类连接件
  • 2025铝排/铝棒/铝板厂家推荐山东宜发,导电合金材质齐全品质保障
  • 一份用pyhon生成word/wps文档的代码
  • 2025年比较好的超强承重天地铰链厂家实力及用户口碑排行榜
  • MX Round 23 解题报告
  • 2025年质量好的载带成型机用户口碑最好的厂家榜
  • 2025年热门的立式明装风机盘管TOP品牌厂家排行榜
  • 2025年11月酶制剂品牌评价榜:五强性能与口碑综合排行
  • 2025年11月白酒曲厂家推荐榜:机械化制曲排行评测
  • 【TIDE DIARY 4.1】Agentic RAG - 详解
  • 2025年11月酵母抽提物品牌口碑榜:五强排名与关键指标对比
  • 2025年评价高的轻奢鞋服亚克力展示架厂家推荐及选购参考榜
  • 详细介绍:Zephyr RTOS在智能家居中的应用:智能插座开发
  • 2025年可靠的全屋定制厂家最新热销排行
  • 2025年质量好的废气处理风机热门厂家推荐榜单
  • 2025年靠谱的抗病毒防火板高评价厂家推荐榜
  • 2025年昆明泌尿生殖专科医院权威深度解析:专业诊疗体系与惠民服务全透视