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

JaneTTR

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

  • 安装与使用

    • Ambari Plus 安装

      • 安装前准备
        • 实施总览
        • Step0—源码包下载与目录准备
        • Step1—系统源与基础工具准备
        • Step2—集群免密登录
          • Step2—集群免密登录
          • 安装 SSH 工具
          • 每台节点生成 SSH Key
          • 分发公钥
          • 没有 ssh-copy-id 时手动追加
          • 先用 IP 做互信验证
          • 权限和 sshd 配置检查
          • 常见问题
        • Step3—主机名解析同步
        • Step4—Chrony 时间同步
        • Step5—Nginx 本地 Yum 文件服务
        • Step6—JDK 双环境准备
        • Step7—MySQL 驱动与本地仓库
        • Step8—MariaDB 初始化
        • Step9—AmbariServer 初始化
        • 必须 ambari plus 数据库初始化文件
      • 安装部署
    • 组件安装

    • 开启高可用

    • 权限与安全专题

    • Ambari Plus Monitor

    • 常见问题

  • 发布与支持

  • 会员与访问

目录
Step2—集群免密登录
安装 SSH 工具
每台节点生成 SSH Key
分发公钥
没有 ssh-copy-id 时手动追加
先用 IP 做互信验证
权限和 sshd 配置检查
常见问题

Step2—集群免密登录

# Step2—集群免密登录

免密登录是 Ambari 添加主机前必须做扎实的一步。生产环境更推荐使用专用安装用户,并只开放核心节点到工作节点的免密;实验环境或新装验证环境,可以临时做全节点互信,方便排查和文件分发。

本文示例仍使用 root,读者实际部署时可以换成具备 sudo 权限的安装用户。

节点 IP 安装用户
hadoop1.test.com 192.168.3.101 root
hadoop2.test.com 192.168.3.102 root
hadoop3.test.com 192.168.3.103 root

注意

如果公司安全规范不允许 root 免密,请创建专用用户,例如 ambariadmin,并给它配置必要的 sudo 权限。不要为了省事长期保留 root 全互信。

# 安装 SSH 工具

三台节点都先确认 SSH 服务和 ssh-copy-id 可用。

    sudo dnf -y install openssh-server openssh-clients sshpass || \
    sudo yum -y install openssh-server openssh-clients sshpass
    
    sudo systemctl enable --now sshd
    
    1
    2
    3
    4
    sudo apt update
    sudo apt install -y openssh-server openssh-client sshpass
    
    sudo systemctl enable --now ssh
    
    1
    2
    3
    4
    // Make sure to add code blocks to your code group

    检查 SSH 端口:

    ss -lntp | grep ':22 '
    
    1

    # 每台节点生成 SSH Key

    分别登录 hadoop1.test.com、hadoop2.test.com、hadoop3.test.com,在同一个安装用户下执行。新环境优先使用 ed25519:

    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    
    if [ ! -f ~/.ssh/id_ed25519 ]; then
      ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N '' -C ambari-plus
    fi
    
    chmod 600 ~/.ssh/id_ed25519
    chmod 644 ~/.ssh/id_ed25519.pub
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    如果老系统不支持 ed25519,再用 RSA 4096:

    ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N '' -C ambari-plus
    
    1

    生成 ed25519 SSH Key

    # 分发公钥

    Step3 还没有配置 /etc/hosts,所以这里先用 IP 分发,避免主机名解析没准备好导致误判。

    在 hadoop1.test.com 上执行:

    ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
    ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
    ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
    
    1
    2
    3

    在 hadoop2.test.com 上执行:

    ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
    ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
    ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
    
    1
    2
    3

    在 hadoop3.test.com 上执行:

    ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
    ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
    ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
    
    1
    2
    3

    如果 SSH 端口不是 22,要把 -p 带上:

    ssh-copy-id -p 52207 -i ~/.ssh/id_ed25519.pub [email protected]
    ssh -p 52207 -o BatchMode=yes [email protected] hostname -f
    
    1
    2

    # 没有 ssh-copy-id 时手动追加

    在源节点读取公钥:

    cat ~/.ssh/id_ed25519.pub
    
    1

    在目标节点追加:

    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    touch ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
    cat >> ~/.ssh/authorized_keys <<'EOF'
    ssh-ed25519 AAAA... ambari-plus
    EOF
    
    1
    2
    3
    4
    5
    6
    7
    8

    追加后检查:

    wc -l ~/.ssh/authorized_keys
    
    1

    三节点互信做完后,每台机器通常至少有三条公钥记录。

    # 先用 IP 做互信验证

    每台机器都执行下面三条命令。这里仍然用 IP,等 Step3 配好 /etc/hosts 后再用主机名复测。

    ssh -o BatchMode=yes [email protected] hostname -f
    ssh -o BatchMode=yes [email protected] hostname -f
    ssh -o BatchMode=yes [email protected] hostname -f
    
    1
    2
    3

    如果全部直接返回目标 FQDN,没有提示输入密码,就算通过。

    免密登录验证

    # 权限和 sshd 配置检查

    免密不生效时,先看权限:

    ls -ld ~/.ssh
    ls -l ~/.ssh/authorized_keys ~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub
    
    1
    2

    再看 SSH 服务配置:

    sudo sshd -T | egrep 'pubkeyauthentication|authorizedkeysfile|permitrootlogin'
    
    1

    如果禁用了 root 登录,生产环境建议改用专用安装用户,不建议长期放开 root。

    # 常见问题

    现象 常见原因 处理方式
    仍然提示输入密码 公钥没有写入目标节点 检查目标节点 authorized_keys
    Permission denied key 未被接受、用户不对、root 登录被禁 看 sshd -T 和 /var/log/secure 或 /var/log/auth.log
    Bad owner or permissions .ssh 权限过宽 重新设置 700/600 权限
    第一次连接卡住 等待确认 host key 手动登录一次并输入 yes
    主机名登录失败 Step3 还没同步 /etc/hosts 本步骤先用 IP,Step3 后再用主机名

    完成后进入 Step3,同步主机名解析,再用 hadoop1.test.com、hadoop2.test.com、hadoop3.test.com 复测免密。

    Step1—系统源与基础工具准备
    Step3—主机名解析同步

    ← Step1—系统源与基础工具准备 Step3—主机名解析同步→

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