TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)
  • Hadoop

  • Spark

  • Trino

  • Hudi

  • Paimon

  • Livy

  • Flink

  • Atlas

  • Superset

  • Jsvc

  • Zookeeper

  • Hive

  • Sqoop

    • xmlto is needed by 解决方法
    • lsb_release、rsync 缺失导致构建中断
    • asciidoc 警告与 relnotes.py 语法不兼容分析
      • 1. 报错现象与日志截图
      • 2. 问题解析
        • 2.1 asciidoc DEPRECATED 语法警告
        • 2.2 relnotes.py 语法报错
      • 3. 典型日志对照表
      • 4. 解决方案与实践建议
        • 4.1 对于 asciidoc 警告
        • 4.2 对于 relnotes.py 兼容性
  • Cloudbeaver

  • Bigtop-select

  • 报错解决-Bigtop
  • Sqoop
JaneTTR
2025-06-09
目录

asciidoc 警告与 relnotes.py 语法不兼容分析

# 1. 报错现象与日志截图

Sqoop 组件通过 Bigtop 构建 RPM 包时,如果环境未做特别适配,经常出现两类典型报错:

  • asciidoc DEPRECATED 语法警告
  • relnotes.py python 兼容性报错(print 语法)

下方是部分原始日志片段:


     [exec] asciidoc: DEPRECATED: output-args.txt: line 21: old tables syntax
     [exec] asciidoc: DEPRECATED: common-args.txt: line 21: old tables syntax
     [exec] asciidoc: DEPRECATED: eval.txt: line 46: old tables syntax
     [exec] asciidoc: DEPRECATED: common-args.txt: line 21: old tables syntax
     [exec] asciidoc: DEPRECATED: compatibility.txt: line 55: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 124: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 190: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 225: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 287: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 306: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 376: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 473: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 497: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 671: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 698: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 716: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 752: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 797: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 839: old tables syntax
     [exec] asciidoc: DEPRECATED: connectors.txt: line 1359: old tables syntax
     [exec] rm user/SqoopUserGuide.xml
     [exec] mkdir -p /opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build/docs
     [exec] asciidoc --unsafe -a revnumber=1.4.7 \
     [exec]     -b docbook \
     [exec]     dev/SqoopDevGuide.txt
     [exec] xmlto  -o /opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build/docs -m web/html.xsl \
     [exec]     html-nochunks dev/SqoopDevGuide.xml
     [exec] rm dev/SqoopDevGuide.xml
     [exec] mkdir -p /opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build/docs
     [exec] cp web/docbook.css /opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build/docs
     [exec] rsync -a web/images /opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build/docs/
     [exec] mkdir -p /opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build/docs
     [exec] asciidoc --unsafe -a revnumber=1.4.7 \
     [exec]   -b docbook \
     [exec]     web/index.txt
     [exec] xmlto  -o /opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build/docs -m web/html.xsl \
     [exec]     html-nochunks web/index.xml
     [exec] rm web/index.xml
     [exec] make: Leaving directory '/opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/src/docs'
    [touch] Creating /opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build/docs.timestamp

relnotes-uptodate:
[available] Unable to find build/docs/sqoop-1.4.7.releasenotes.html to set property relnotes.exists

relnotes:
     [exec] Current OS is Linux
     [exec] Executing 'python' with arguments:
     [exec] '/opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/src/scripts/relnotes.py'
     [exec] '/opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build/docs'
     [exec] '/opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7'
     [exec] '81624ddf3c8ca5834ab015ebafc8b8649ac36ab7..HEAD'
     [exec] '1.4.7'
     [exec] '1.4.6'
     [exec]
     [exec] The ' characters around the executable and arguments are
     [exec] not part of the command.
     [exec]   File "/opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/src/scripts/relnotes.py", line 35
     [exec]     print "Building release notes is not supported on this platform."
     [exec]                                                                     ^
     [exec] SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Building release notes is not supported on this platform.")?

BUILD FAILED
/opt/modules/bigtop/build/sqoop/rpm/BUILD/sqoop-1.4.7/build.xml:969: exec returned: 1
        at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:675)
        at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:699)
        at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:527)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        at org.apache.tools.ant.Task.perform(Task.java:350)
        at org.apache.tools.ant.Target.execute(Target.java:449)
        at org.apache.tools.ant.Target.performTasks(Target.java:470)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
        at org.apache.tools.ant.Main.runBuild(Main.java:818)
        at org.apache.tools.ant.Main.startAnt(Main.java:223)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)

Total time: 1 minute 50 seconds
error: Bad exit status from /var/tmp/rpm-tmp.rdTsNu (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.rdTsNu (%build)

> Task :sqoop-rpm FAILED

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93

对应的编译任务最终失败,并返回 Bad exit status。

下面是终端编译过程的可视化截图,便于大家对照分析:

image-20250609093630816

注意

虽然 asciidoc 的 DEPRECATED 提示不会立刻导致构建失败,但 python 语法错误会直接中断任务,影响最终 RPM 输出。

# 2. 问题解析

# 2.1 asciidoc DEPRECATED 语法警告

  • 本质原因: Sqoop 官方部分文档 still 使用了 asciidoc 旧版 table 语法,而新版本 asciidoc 已将其标为不推荐(DEPRECATED)。
  • 实际影响: 只要没有升级到强制弃用版本,这类警告可忽略,不会直接导致编译失败,仅作提醒。

# 2.2 relnotes.py 语法报错

  • 本质原因: Sqoop 1.4.7 时代默认脚本为 python2 语法(print "xxx"),而新发行版操作系统多已切换 python3 环境(必须 print("xxx") ),两者语法不兼容。

  • 典型报错:

    SyntaxError: Missing parentheses in call to 'print'. Did you mean print("...")?
    
    1
  • 实际影响: 直接中断,一旦 relnotes.py 执行失败,后续文档和 Release Notes 都不会生成,构建流程提前结束。

# 3. 典型日志对照表

报错类型 关键日志片段 影响 处理建议
asciidoc 语法警告 DEPRECATED: ... old tables syntax 不影响流程 可忽略或优化源码
relnotes.py print 报错 SyntaxError: Missing parentheses in call to 'print' 构建中断,无法产出 RPM 修正脚本或软链 python2

# 4. 解决方案与实践建议

# 4.1 对于 asciidoc 警告

笔记

只需知晓原因,无需特殊处理。如果有洁癖,可以后续升级 Sqoop 源码,将旧语法全部替换为新表格写法。实际生产场景下,警告可直接跳过。

# 4.2 对于 relnotes.py 兼容性

可以参考这篇文章,我们对在python3环境下做了适配 O-Sqoop版本适配改造(一)

#Sqoop#Bigtop#RPM#编译
lsb_release、rsync 缺失导致构建中断
SelectExpressionItem cannot be resolved 报错分析

← lsb_release、rsync 缺失导致构建中断 SelectExpressionItem cannot be resolved 报错分析→

最近更新
01
[/metrics/aggregated] — 聚合数据范围 检查点
09-19
02
[/metrics] — 反向分析接口参数 请求抓包
09-17
03
[/metrics] — 普通指标写入方法 POST
09-17
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式