Skip to content

ODP集群部署

服务器列表

IP域名组件系统
172.30.20.85hadoop1.gaojinbo.comhadoop/hive/spark/Ambari Agentubuntu22.04
172.30.20.84hadoop2.gaojinbo.comhadoop/hive/spark/Ambari Agentubuntu22.04
172.30.32.118hadoop3.gaojinbo.comhadoop/hive/spark/Ambari Agentubuntu22.04
172.30.32.119hadoop4.gaojinbo.comhadoop/hive/spark/Ambari Agentubuntu22.04
172.30.58.20hadoop5.gaojinbo.comhadoop/hive/spark/Ambari Agentubuntu22.04
172.30.32.117ambari.gaojinbo.com部署平台ambari server2.7.11+odp1.2.4+pg+mysqlubuntu22.04

说明

  1. ambari和odp操作系统、软件版本必须一致
  2. centos7部署失败:缺少依赖包 hadoop_1_2_2_0-native-hdfs
  3. 推荐使用ubuntu22.04
  4. 推荐使用本地仓库:使用香港代理可能失败
  5. ambari需要外部postgresql,hive需要外部mysql

部署步骤

步骤1:安装ambari server

步骤2:配置ambari到hadoop节点免密登录

步骤3:绑定host

  1. ambari和hadoop均需添加
    Terminal window
    vi /etc/hosts
    172.30.20.85 hadoop1.gaojinbo.com
    172.30.20.84 hadoop2.gaojinbo.com
    172.30.32.118 hadoop3.gaojinbo.com
    172.30.32.119 hadoop4.gaojinbo.com
    172.30.58.20 hadoop5.gaojinbo.com
    172.30.32.117 ambari.gaojinbo.com
  2. 设置FQDN
    Terminal window
    hostnamectl set-hostname hadoop5.gaojinbo.com

步骤4:安装ambari agent

  1. 每台hadoop节点执行
    Terminal window
    # 添加密钥
    apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 449E83E81403D1C5
    # 配置源
    echo 'deb http://ambari.gaojinbo.com/ambari-release/dist/ubuntu22/1.x/BUILDS/2.7.11.0.0-150/AMBARI AMBARI main' > /etc/apt/sources.list.d/ambari.list
    # 禁用systemd-resolved
    systemctl disable systemd-resolved
    systemctl stop systemd-resolved
    echo 'nameserver 114.114.114.114' >> /etc/resolv.conf
    # 创建目录
    mkdir /var/lib/livy
    # 安装
    apt update -y && sudo apt upgrade -y
    apt install ambari-agent python3-dev -y
    # 修改配置
    sed -i 's/localhost/ambari.gaojinbo.com/g' /etc/ambari-agent/conf/ambari-agent.ini
    systemctl enable --now ambari-agent
    ln -s /usr/bin/python3 /usr/bin/python

步骤5:登录ambari后台

集群配置

  1. 建立集群:名称 c1
  2. 版本选择
    • 仓库版本需与选择版本一致:
      https://archive.clemlab.com/ubuntu22/odp-release/1.2.4.0-102/ODP-VDF.xml
      http://ambari.gaojinbo.com/odp-release/dist/ubuntu22/1.x/BUILDS/1.2.4.0-102/ODP-VDF.xml
  3. Target Hosts
    • hadoop1hadoop5
  4. SSH Private Key:必须通过文件上传私钥

高级配置

  1. HDFS配置
    • Block replication: 1
    • dfs.permissions.enabled: FALSE
  2. 禁用本地53端口
    Terminal window
    systemctl disable systemd-resolved
    systemctl stop systemd-resolved
    echo 'nameserver 114.114.114.114' >> /etc/resolv.conf

错误处理

  1. Hive服务启动问题
    • 修改MySQL配置:
      Terminal window
      vi /etc/mysql/mysql.conf.d/mysqld.cnf
      127.0.0.1 改为 0.0.0.0,并重启MySQL。
  2. Ranger启动问题
    • 使用低版本MySQL驱动(5.1.49)。
    • 修改用户认证方式:
      ALTER USER rangeradmin IDENTIFIED WITH mysql_native_password BY 'hc123456';
  3. Ambari数据库密码修改
    Terminal window
    # 修改配置
    grep "password" /etc/ambari-server/conf/ambari.properties
    echo "bigdata_custom" > /etc/ambari-server/conf/password.dat
    # 登录PostgreSQL
    sudo -u postgres psql
    ALTER USER ambari WITH PASSWORD 'bigdata_custom';
    \q
    ambari-server restart

API管理

  1. 获取用户信息
    Terminal window
    curl -u admin:admin -X GET http://ambari.gaojinbo.com:8080/api/v1/users/admin
  2. 修改用户显示名称
    Terminal window
    curl -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"Users/display_name":"admin2"}' http://ambari.gaojinbo.com:8080/api/v1/users/admin
  3. 更新密码
    Terminal window
    curl -iv -u admin:admin -H "X-Requested-By: ambari" -X PUT -d '{"AuthenticationSourceInfo/key":"Qah6h3vGFjnwaC3S","AuthenticationSourceInfo/old_key":"admin"}' http://ambari.gaojinbo.com:8080/api/v1/users/admin/sources/1