Logo
解决 Ambari 构建时的“Unexpected Platform or Architecture:linux/arm64”问题

解决 Ambari 构建时的“Unexpected Platform or Architecture:linux/arm64”问题

详细教程教您如何解决 Ambari 构建报错问题“Unexpected Platform or Architecture:linux/arm64”,步骤清晰,通俗易懂,助您顺利完成安装与配置。立即查看!

2024-12-19

引言

当你尝试在 ARM64 平台(例如 Raspberry Pi 或部分云服务器)上构建 Ambari 时,可能会遇到报错:“Unexpected platform or architecture: linux/arm64”。这就像开车出门,结果发现 GPS 不支持新城市的地图。让人抓狂,却也预示着可以找到解决方法。

别担心!这篇教程将带你一步步解决这个问题,让 Ambari 在 ARM64 平台上顺利运行。无论你是开发者还是运维人员,只需要一些耐心,就能轻松攻克这一难题。


核心内容

第一步:了解问题的根源

Ambari 的构建脚本默认只支持常见的 x86_64 平台,而 ARM64 并未被列入支持范围。因此,脚本在检查架构时会直接报错。

解决思路:我们需要“改菜单”,也就是修改构建脚本,告诉它 ARM64 也是被支持的。

小贴士

运行 uname -m 可以快速查看当前系统的架构:

uname -m

如果输出是 aarch64,那么你正处于 ARM64 环境。


第二步:准备环境

在解决问题之前,先确保你的环境已经就绪:

  1. 操作系统:Ubuntu 20.04 或更新版本,ARM64 架构。
  2. 必备工具
    • Git
    • Java 11
    • Maven
    • Docker(可选,但建议安装)

安装命令示例

sudo apt update
sudo apt install -y openjdk-11-jdk git maven

小贴士

确保 JAVA_HOME 环境变量已正确配置:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64

第三步:修改 Ambari 的构建脚本

  1. 克隆 Ambari 仓库:

    git clone https://github.com/apache/ambari.git
    cd ambari
    
  2. 编辑 ambari-build-utils.sh 文件:
    这是 Ambari 的构建工具脚本,默认不识别 ARM64。

    nano ambari-build-utils.sh
    
  3. 找到以下代码块:

    if [[ "$PLATFORM" != "x86_64" ]]; then
        echo "Unexpected platform or architecture: $PLATFORM"
        exit 1
    fi
    
  4. 修改为支持 ARM64:

    if [[ "$PLATFORM" != "x86_64" && "$PLATFORM" != "aarch64" ]]; then
        echo "Unexpected platform or architecture: $PLATFORM"
        exit 1
    fi
    

第四步:安装依赖

运行以下命令安装 Ambari 所需的依赖:

mvn clean install -DskipTests

常见问题与解决方法

  1. 问题:依赖下载失败。
    解决:检查网络连接,或者配置国内的 Maven 镜像。

    示例配置: 编辑 ~/.m2/settings.xml 文件,添加以下内容:

    <mirrors>
        <mirror>
            <id>aliyun</id>
            <mirrorOf>*</mirrorOf>
            <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
    </mirrors>
    
  2. 问题:Java 版本不兼容。
    解决:确保使用的是 Java 11,运行 java -version 检查版本。


第五步:验证构建结果

构建完成后,运行以下命令验证:

mvn -Pambari-server install

如果一切顺利,恭喜你,Ambari 已成功适配 ARM64!

注意事项


总结

通过修改构建脚本和安装必要依赖,我们成功解决了 “Unexpected platform or architecture: linux/arm64” 报错问题。只需几个简单的步骤,就能让 Ambari 在 ARM64 平台上流畅运行。

下一步建议

相关推荐:

© 2024 sherlock.me. All rights reserved.