TT Bigdata TT Bigdata
首页
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • 产品中心

  • 安装与使用

    • Ambari Plus 安装

      • 安装前准备
        • 实施总览
        • Step0—源码包下载与目录准备
        • Step1—系统源与基础工具准备
        • Step2—集群免密登录
        • Step3—主机名解析同步
        • Step4—Chrony 时间同步
        • Step5—Nginx 本地 Yum 文件服务
        • Step6—JDK 双环境准备
        • Step7—MySQL 驱动与本地仓库
        • Step8—MariaDB 初始化
        • Step9—AmbariServer 初始化
          • Step9—AmbariServer 初始化
          • 创建 Ambari 数据库和用户
          • 安装 Ambari Server
          • 确认 JDBC 驱动
          • 执行官方 Ambari DDL 初始化
          • 执行 Ambari Plus 增量 DDL
          • 执行 ambari-plus setup
            • 1. 启动 setup 向导
            • 2. 选择语言
            • 3. 环境检查
            • 4. 系统用户
            • 5. JDK 配置
            • 6. GPL 许可
            • 7. 数据库配置
            • 8. 主密钥与 JCE Policy
            • 9. Web 目录和服务端口
            • 10. 确认并应用配置
            • 11. 静默模式批量部署
          • 启动 Ambari Server 和本机 Agent
          • 放通 8080
          • 访问 Web UI
        • 必须 ambari plus 数据库初始化文件
      • 安装部署
    • 组件安装

    • 开启高可用

    • 权限与安全专题

    • Ambari Plus Monitor

    • 常见问题

  • 发布与支持

  • 会员与访问

目录
Step9—AmbariServer 初始化
创建 Ambari 数据库和用户
安装 Ambari Server
确认 JDBC 驱动
执行官方 Ambari DDL 初始化
执行 Ambari Plus 增量 DDL
执行 ambari-plus setup
1. 启动 setup 向导
2. 选择语言
3. 环境检查
4. 系统用户
5. JDK 配置
6. GPL 许可
7. 数据库配置
8. 主密钥与 JCE Policy
9. Web 目录和服务端口
10. 确认并应用配置
11. 静默模式批量部署
启动 Ambari Server 和本机 Agent
放通 8080
访问 Web UI

Step9—AmbariServer 初始化

# Step9—AmbariServer 初始化

前面已经准备好了本地仓库、JDK、MariaDB 和 JDBC 驱动,现在可以初始化 Ambari Server。这个步骤只在核心节点 hadoop1.test.com 做,工作节点后续会通过 Ambari Web UI 注册和安装 Agent。

新版本安装我建议使用 ambari-plus setup 完成服务初始化。它会把 Ambari Plus 需要的安装项集中在一个入口里处理,后面排查也更容易对齐。

本文示例参数:

项目 值
Ambari Server 节点 hadoop1.test.com
数据库地址 hadoop1.test.com:3306
Ambari 数据库 ambari
Ambari 用户 ambari
JDBC 驱动 /usr/share/java/mysql-connector-java.jar
Ambari JDK /usr/jdk64/jdk17
Stack JDK /usr/jdk64/jdk1.8
初始化入口 ambari-plus setup

提示

主机名这里我建议全程使用 FQDN,例如 hadoop1.test.com。后面如果继续接 Kerberos、LDAP、SPNEGO 或证书,短主机名和 FQDN 混用很容易引出 Principal、回调地址、证书 SAN 不一致的问题。

# 创建 Ambari 数据库和用户

在核心节点执行。这里登录 MariaDB root 时,密码输入 Step8 里设置的 root。示例里的 Ambari 数据库密码是 ambari,生产环境请换成自己的强密码,并和后面 ambari-plus setup 里输入的密码保持一致。

AMBARI_DB_PASSWORD='ambari'

mysql -uroot -p <<EOF
CREATE DATABASE IF NOT EXISTS ambari DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER IF NOT EXISTS 'ambari'@'%' IDENTIFIED BY '${AMBARI_DB_PASSWORD}';
CREATE USER IF NOT EXISTS 'ambari'@'localhost' IDENTIFIED BY '${AMBARI_DB_PASSWORD}';

GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';
GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'localhost';

FLUSH PRIVILEGES;
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13

检查 Ambari 用户能否连接自己的库:

mysql -h hadoop1.test.com -uambari -p -D ambari -e "SELECT DATABASE();"
1

Ambari 数据库和用户连接验证

如果这次要一起安装 Hive

如果你计划在同一轮安装 Hive,可以提前创建 Hive Metastore 库和用户。只安装 Ambari Server 时,这段可以先不做。

HIVE_DB_PASSWORD='hive'

mysql -uroot -p <<EOF
CREATE DATABASE IF NOT EXISTS hive DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER IF NOT EXISTS 'hive'@'%' IDENTIFIED BY '${HIVE_DB_PASSWORD}';
CREATE USER IF NOT EXISTS 'hive'@'localhost' IDENTIFIED BY '${HIVE_DB_PASSWORD}';

GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%';
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'localhost';

FLUSH PRIVILEGES;
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13

# 安装 Ambari Server

核心节点从本地仓库安装。

    if command -v dnf >/dev/null 2>&1; then
      sudo dnf clean all
      sudo dnf makecache
      sudo dnf -y install ambari-server ambari-agent
    else
      sudo yum clean all
      sudo yum makecache
      sudo yum -y install ambari-server ambari-agent
    fi
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    sudo apt update
    sudo apt install -y ambari-server ambari-agent
    
    1
    2
    // Make sure to add code blocks to your code group

    安装后确认官方 Ambari DDL 文件存在:

    ls -l /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
    command -v ambari-plus
    
    1
    2

    Ambari Server 安装结果检查

    # 确认 JDBC 驱动

    ambari-plus setup 会使用 Step7 准备好的 MySQL JDBC 驱动。进入交互前先确认这个路径存在,避免安装到一半再回来补文件:

    ls -lh /usr/share/java/mysql-connector-java.jar
    readlink -f /usr/share/java/mysql-connector-java.jar
    
    1
    2

    如果文件不存在,回到 Step7 检查驱动包和软链接。

    MySQL JDBC 驱动检查

    # 执行官方 Ambari DDL 初始化

    Ambari Server 安装后会提供 MySQL DDL。先判断是否已经初始化过:

    mysql -uambari -p -D ambari -N -e "SHOW TABLES LIKE 'metainfo';"
    
    1

    如果没有输出,再执行:

    mysql -uambari -p ambari < /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
    
    1

    再次检查:

    mysql -uambari -p -D ambari -N -e "SHOW TABLES LIKE 'metainfo';"
    
    1

    能看到 metainfo,说明官方 Ambari DDL 已经导入。

    官方 Ambari DDL 导入验证

    注意

    官方 Ambari DDL 和 Ambari Plus 增量 DDL 必须导入同一个数据库。本文统一使用 ambari 库,不要额外创建 ambari_plus 库,否则服务启动后会读不到扩展表。

    # 执行 Ambari Plus 增量 DDL

    官方 DDL 只会创建 Ambari 原生表。Ambari Plus 还需要自己的租户、权限控制面、登录欢迎语和审计表,所以这里必须继续执行 Ambari Plus 增量 DDL。

    完整 SQL 放在黄金会员附录:【必需】ambari plus 数据库初始化文件。

    将附录中的 SQL 保存为 Ambari-Plus-DDL-MySQL-CREATE.sql 后,在核心节点导入到同一个 ambari 库:

    mysql -uambari -p ambari < Ambari-Plus-DDL-MySQL-CREATE.sql
    
    1

    导入后验证关键表和基线数据:

    mysql -uambari -p -D ambari -N -e "SHOW TABLES LIKE 'ambari_plus_tenant';"
    mysql -uambari -p -D ambari -e "SELECT tenant_key,status FROM ambari_plus_tenant;"
    
    1
    2

    能看到 ambari_plus_tenant,并且内置 root 租户状态为 ACTIVE,说明增量 DDL 已经导入。

    Ambari Plus 增量 DDL 导入验证

    # 执行 ambari-plus setup

    数据库和 DDL 都准备好以后,就可以进入 ambari-plus setup。第一次安装我建议走交互式,把每个选项确认清楚;同一套规范已经跑通后,再把参数整理成静默命令用于批量部署。

    # 1. 启动 setup 向导

    在核心节点执行:

    sudo ambari-plus setup
    
    1

    启动后,终端会进入 setup 向导。后面每一步按提示输入或选择即可;如果是非 TTY 环境,会自动降级成编号输入。批量部署用的静默命令放在第 11 小节,第一次安装先按交互式走完一遍更稳。

    # 2. 选择语言

    语言选择建议选 中文 (Chinese),后面的数据库、JDK、Web 目录等提示会更容易核对。

    Step9-2 ambari-plus setup 语言选择

    静默模式对应参数:

    --language zh
    
    1

    如果终端里边框字符显示成方块,先确认系统是 UTF-8 环境:

    locale | grep LANG
    echo "TERM=$TERM"
    
    1
    2

    RHEL 7 / CentOS 7 这类老环境如果显示异常,可以先执行:

    export LANG=en_US.UTF-8
    export TERM=xterm-256color
    
    1
    2

    # 3. 环境检查

    进入正式配置后,第一步是环境检查。这里主要看两件事:

    检查项 通过标准
    执行权限 使用 root 或 sudo 执行
    Ambari 配置文件 /etc/ambari-server/conf/ambari.properties 存在

    如果提示 ambari.properties 不存在,通常是 ambari-server 包还没有安装好,先回到前面的“安装 Ambari Server”小节确认包安装结果。

    Step9-3 ambari-plus setup 环境检查

    # 4. 系统用户

    系统用户这一步用来决定 Ambari Server daemon 使用哪个系统账号运行。普通安装建议保持默认,不自定义系统用户。

    提示 建议
    是否自定义 ambari-server daemon 用户 选择 n

    只有在企业环境里已经规划好专门的服务账号时,才需要自定义。否则这里随意改用户,后面更容易遇到日志目录、PID 文件、资源目录权限不一致的问题。

    静默模式如果不传 --custom-user,就是默认用户路线。

    Step9-4 ambari-plus setup 系统用户

    # 5. JDK 配置

    JDK 配置会让你填写两套路径:

    配置项 建议填写
    Ambari JDK /usr/jdk64/jdk17
    Stack JDK /usr/jdk64/jdk1.8

    这两个路径和 Step6 的软链接要完全一致。填完后,如果界面提示路径不存在,不要继续硬往下走,先回到 Step6 检查:

    ls -ld /usr/jdk64/jdk17 /usr/jdk64/jdk1.8
    /usr/jdk64/jdk17/bin/java -version
    /usr/jdk64/jdk1.8/bin/java -version
    
    1
    2
    3

    静默模式对应参数:

    -j /usr/jdk64/jdk17 \
    --stack-java-home /usr/jdk64/jdk1.8
    
    1
    2

    Step9-5 ambari-plus setup JDK 配置

    # 6. GPL 许可

    GPL 许可主要影响 LZO 这类 GPL 相关能力。离线包里已经准备好相关包,并且你确认当前环境允许使用时,可以选择接受;如果只是先跑 Ambari Server 基础安装,也可以先不启用。

    场景 建议
    已准备 GPL 相关离线包 选择接受
    不确定是否需要 先不接受,后面按组件需要再补

    静默模式接受 GPL:

    --accept-gpl
    
    1

    Step9-6 ambari-plus setup GPL 许可

    # 7. 数据库配置

    这里选择高级数据库配置,数据库类型选 MySQL / MariaDB,并填写前面已经创建好的 Ambari 数据库信息。

    Step9-7.1 ambari-plus setup 进入高级数据库配置

    配置项 本文示例
    是否进入高级数据库配置 y
    数据库类型 MySQL / MariaDB
    数据库地址 hadoop1.test.com
    数据库端口 3306
    数据库名 ambari
    数据库用户 ambari
    数据库密码 前面设置的 AMBARI_DB_PASSWORD
    JDBC 驱动 /usr/share/java/mysql-connector-java.jar

    Step9-7.2 ambari-plus setup 选择 MySQL MariaDB

    注意

    数据库地址如果填主机名,必须确保 Step3 的 hosts 解析已经通过。这里建议直接填写 FQDN,并保证 /etc/hosts 中存在 hadoop1.test.com 到内网 IP 的解析。

    数据库这一步不要临时改库名。前面官方 Ambari DDL 和 Ambari Plus 增量 DDL 都导入到了 ambari 库,这里也必须填同一个库。

    静默模式对应参数:

    --advanced-db --database mysql \
    --databasehost hadoop1.test.com --databaseport 3306 \
    --databasename ambari --databaseusername ambari \
    --databasepassword "${AMBARI_DB_PASSWORD}" \
    --jdbc-driver /usr/share/java/mysql-connector-java.jar
    
    1
    2
    3
    4
    5

    选择自定义 JDBC 驱动后,填写 Step7 准备好的 jar 路径:

    Step9-7.3 ambari-plus setup JDBC 驱动

    数据库信息填完后,界面会把主机、端口、库名、用户名和 JDBC 驱动汇总出来。密码显示为 ****,这是正常的。

    Step9-7.4 ambari-plus setup 数据库汇总

    # 8. 主密钥与 JCE Policy

    主密钥用于加密保存敏感配置。演示环境为了快速跑通,可以先不启用;生产环境建议启用,并把主密钥交给受控的凭据管理流程保存。

    JCE Policy 用于 Java 加密能力扩展。如果你的 JDK 和安全策略已经满足组件要求,可以先不单独配置;需要安装策略包时,再填写实际路径。

    配置项 演示环境 生产建议
    Master Key 可先跳过 建议启用
    JCE Policy 可先跳过 按安全规范配置

    静默模式跳过这两项:

    --no-master-key --no-jce-policy
    
    1

    静默模式启用时,可以改成:

    --master-key "${AMBARI_MASTER_KEY}" \
    --jce-policy /opt/jce8_policy.zip
    
    1
    2

    Step9-8 ambari-plus setup 主密钥与 JCE Policy

    # 9. Web 目录和服务端口

    Ambari Plus 会额外写入 Web 前端目录和服务端口配置。默认值建议先保持不变:

    配置项 建议值
    Web 目录 /usr/lib/ambari-plus/web
    Server 端口 8080

    填写前可以先确认 Web 目录存在:

    ls -ld /usr/lib/ambari-plus/web
    
    1

    如果这里改了端口,后面的防火墙和访问地址也要一起改。本文继续使用默认 8080。

    静默模式对应参数:

    --web-dir /usr/lib/ambari-plus/web \
    --server-port 8080
    
    1
    2

    Step9-9 ambari-plus setup Web 目录和服务端口

    # 10. 确认并应用配置

    所有选项填写完后,界面会进入确认面板。这里不要急着回车,先把数据库地址、库名、JDK 路径、Web 目录和端口再核对一遍。

    核对项 正确值
    数据库 hadoop1.test.com:3306/ambari
    数据库用户 ambari
    Ambari JDK /usr/jdk64/jdk17
    Stack JDK /usr/jdk64/jdk1.8
    Web 目录 /usr/lib/ambari-plus/web
    Server 端口 8080

    确认页里能看到完整配置时,再选择开始安装。

    Step9-10.1 ambari-plus setup 确认配置

    执行完成后,重点看 JDBC driver was successfully initialized、server.jdbc.url、server.jdbc.database_name 和 webapp.dir。它们分别说明 JDBC 驱动已经注册,数据库连接配置已经写入,Ambari Server 的 Web 目录已经切到 Plus 前端资源。

    Step9-10.2 ambari-plus setup 执行完成

    然后回到命令行检查 ambari.properties:

    grep -E '^(ambari-server.user|java.home|stack.java.home|server.os_family|server.os_type|server\.jdbc|webapp.dir|client.api.port)=' /etc/ambari-server/conf/ambari.properties
    
    1

    如果端口仍然使用默认 8080,client.api.port 可能不会单独写入,这是正常的;重点是 server.jdbc.url、server.jdbc.database_name、ambari-server.user 和 webapp.dir=/usr/lib/ambari-plus/web 都能查到。

    # 11. 静默模式批量部署

    交互式流程跑通后,可以把同样的配置固化成静默命令。下面这份命令对应本文示例环境,适合复制后按自己的主机名和密码变量调整:

    export AMBARI_DB_PASSWORD='ambari'
    
    sudo ambari-plus setup -s --language zh --accept-gpl \
      --advanced-db --database mysql \
      --databasehost hadoop1.test.com --databaseport 3306 \
      --databasename ambari --databaseusername ambari \
      --databasepassword "${AMBARI_DB_PASSWORD}" \
      --jdbc-driver /usr/share/java/mysql-connector-java.jar \
      -j /usr/jdk64/jdk17 \
      --stack-java-home /usr/jdk64/jdk1.8 \
      --auto-master-key --no-jce-policy \
      --web-dir /usr/lib/ambari-plus/web \
      --server-port 8080
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    静默模式不会逐项停下来确认,缺少必填参数时会一次性列出缺失项并退出。第一次整理命令时,我建议先在测试环境跑一遍,再拿到生产环境使用。

    # 启动 Ambari Server 和本机 Agent

    sudo ambari-plus restart
    sudo ambari-plus status
    
    sudo ambari-agent restart
    sudo ambari-agent status
    
    1
    2
    3
    4
    5

    ambari-plus restart 会继续调用 Ambari Server 的启动逻辑。看到 Server started listening on 8080,并且 ambari-plus status 返回 Ambari Server running,说明服务端已经加载新配置。

    Ambari Plus Server 启动验证

    本机 Agent、Web 端口和数据库基线也一起确认。这里能看到 Agent 处于运行状态,8080 返回 200 OK,ambari_plus_tenant 里内置租户为 ACTIVE。

    Ambari Plus Agent Web 数据库验证

    # 放通 8080

      sudo firewall-cmd --add-port=8080/tcp --permanent
      sudo firewall-cmd --reload
      
      1
      2
      sudo ufw allow 8080/tcp
      sudo ufw reload
      
      1
      2
      // Make sure to add code blocks to your code group

      云主机同样要检查安全组。

      # 访问 Web UI

      浏览器访问:

      http://hadoop1.test.com:8080
      
      1

      页面能够正常打开时,可以看到 Ambari Plus 的登录入口。正式环境里可以换成自己的域名、VIP 或内网 FQDN。

      Ambari Plus Web UI 登录页

      当前 Ambari Plus 包默认管理员账号为:

      用户名 密码
      admin Admin@2026

      登录后建议第一时间修改默认密码。到这里,安装前准备和 Ambari Server 初始化就告一段落,下一步进入 Web UI 初始化集群,开始添加 hadoop2.test.com、hadoop3.test.com 并安装服务。

      Step8—MariaDB 初始化
      【必需】ambari plus 数据库初始化文件

      ← Step8—MariaDB 初始化 【必需】ambari plus 数据库初始化文件→

      最近更新
      01
      当前版本 2026/08
      08-29
      02
      把 Ambari Server HA 稳稳地跑起来
      08-17
      03
      从一次启用操作追到主备就绪
      08-17
      更多文章>
      Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
      • 跟随系统
      • 浅色模式
      • 深色模式
      • 阅读模式