CentOS7 利用 Ambari-2.7.5 搭建 HDP-3.1.5 集群 (超级详细步骤,含安装包下载地址)

Amari介绍

​ Apache Ambari 项目旨在通过开发用于配置、管理和监控 Apache Hadoop 集群的软件来简化 Hadoop 管理。Ambari 提供了直观、易于使用的 Hadoop 管理 Web UI,并由其 RESTful API 支持。

Ambari 使系统管理员能够:

  • 配置 Hadoop 集群

    • Ambari 提供了一个分步向导,用于在任意数量的主机上安装 Hadoop 服务。
    • Ambari 处理集群的 Hadoop 服务配置。
  • 管理 Hadoop 集群

    • Ambari 提供对整个集群中 Hadoop 服务的启动、停止和重新配置的集中管理。
  • 监控 Hadoop 集群

    • Ambari 提供了一个仪表板来监控 Hadoop 集群的运行状况和状态。
    • Ambari 利用Ambari Metrics System进行指标收集。
    • Ambari 利用Ambari 警报框架进行系统警报,并在需要您注意时通知您(例如,节点出现故障、剩余磁盘空间不足等)。

Ambari 使应用程序开发人员和系统集成商能够:

Ambari 是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。

​ 用户通过Ambari Server通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。Ambari Server 从整个集群上收集信息。每个主机上都有 Ambari Agent, Ambari Server 通过 Ambari Agent 控制每部主机。

总的来说,Ambari是一个强大的工具,可以简化Hadoop集群的管理和监控。

请遵循Ambari 2.7.7 的安装指南

注意:Ambari 目前支持以下操作系统的 64 位版本:

  • RHEL(红帽企业 Linux)7.4、7.3、7.2
  • CentOS 7.4、7.3、7.2
  • OEL(Oracle 企业 Linux)7.4、7.3、7.2
  • Amazon Linux 2
  • SLES(SuSE Linux Enterprise )12 SP3、12 SP2
  • Ubuntu 14 和 16
  • Debian 9

产品互操作性

Ambari 2.7.5 仅支持 HDP-3.1.5 和 HDF-3.2.0

支持矩阵工具提供以下信息:

  • 操作系统
  • 数据库
  • 浏览器
  • JDK

使用以下 URL 确定对每个产品版本的支持。

https://supportmatrix.hortonworks.com

官网地址: Ambari

软件要求

On each of your hosts:

  • yum and rpm (RHEL/CentOS/Oracle/Amazon Linux)
  • zypper and php_curl (SLES)
  • apt (Debian/Ubuntu)
  • scp, curl, unzip, tar, wget, and gcc*
  • OpenSSL (v1.01, build 16 or later)
  • Python 2.7.12 (with python-devel*)

*Ambari Metrics Monitor uses a python library (psutil) which requires gcc and python-devel packages.

官方文档参考:

https://docs.cloudera.com/HDPDocuments/Ambari-2.7.5.0/bk_ambari-installation/content/ch_Getting_Ready.html

ip 角色规划
准备4台虚拟机

iphostname软件
192.168.1.10ambariambari
192.168.1.11hdp-node1HDP-3.1.5
192.168.1.12hdp-node2HDP-3.1.5
192.168.1.13hdp-node3HDP-3.1.5

1 环境准备

1.1 配置hostname和ip

hostnamectl set-hostname ambari
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,114.114.114.114' connection.autoconnect yes
nmcli connection up ens33

hostnamectl set-hostname hdp-node1
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.1.11/24 ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,114.114.114.114' connection.autoconnect yes
nmcli connection up ens33

hostnamectl set-hostname hdp-node2
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.1.12/24 ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,114.114.114.114' connection.autoconnect yes
nmcli connection up ens33

hostnamectl set-hostname hdp-node3
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.1.13/24 ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,114.114.114.114' connection.autoconnect yes
nmcli connection up ens33

1.2 配置免密登录

要让 Ambari Server 自动在所有集群主机上安装 Ambari Agent,您必须在 Ambari Server 主机和集群中的所有其他主机之间设置无密码 SSH 连接。Ambari Server 主机使用 SSH 公钥身份验证来远程访问和安装 Ambari Agent。

#在 Ambari Server 主机上生成公钥和私钥 SSH 密钥
[root@ambari ~]# ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa

[root@ambari ~]# for i in {10..13}
do
ssh-copy-id 192.168.1.$i
done

1.3 优化ssh连接

#此步骤可做可不做,如果xshell连接较慢,可以进行优化
sed -i 's/#UseDNS\ yes/UseDNS\ no/g; s/GSSAPIAuthentication\ yes/GSSAPIAuthentication\ no/g' /etc/ssh/sshd_config

systemctl restart sshd

1.4 配置hosts

[root@ambari ~]# cat >> /etc/hosts << 'EOF'
192.168.1.10 ambari
192.168.1.11 hdp-node1
192.168.1.12 hdp-node2
192.168.1.13 hdp-node3
EOF

[root@ambari ~]# for i in {1..3}
do
scp /etc/hosts hdp-node$i:/etc/hosts
done

1.5 配置时间同步

#卸载系统自带的chrony,安装ntp
[root@ambari ~]# for i in {10..13}
do
ssh 192.168.1.$i "yum -y remove chrony && yum -y install ntp"
done
#修改ntp配置,用ambari当时间服务器,hdp-node当做客户端
[root@ambari ~]# vim /etc/ntp.conf

#注释或删除以下四行
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#添加以下两行内容
server 127.127.1.0 
fudge 127.127.1.0 stratum 10

#启动并设置开机自启
[root@ambari ~]# systemctl enable --now ntpd

#验证
[root@ambari ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.          10 l   52   64    1    0.000    0.000   0.000
#客户端配置
[root@hdp-node1 ~]# vim /etc/ntp.conf
#注释掉以下四行
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#添加2行
server 192.168.1.10
fudge 192.168.1.10 stratum 10

#启动并设置开机自启
[root@hdp-node1 ~]# systemctl enable --now ntpd

#验证
[root@hdp-node1 ~]# ntp
ntpd        ntpdate     ntpdc       ntp-keygen  ntpq        ntpstat     ntptime     
[root@hdp-node1 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ambari          LOCAL(0)        11 u   17   64    1    1.839  -10.211   0.000
#将hdp-node1的配置同步到hdp-node2、hdp-node3
[root@hdp-node1 ~]# for i in {2,3}
do
scp /etc/ntp.conf hdp-node$i:/etc/ntp.conf 
done

[root@hdp-node1 ~]# for i in {2,3}
do
ssh hdp-node$i "systemctl enable --now ntpd"
done

1.6 关闭防火墙和selinux

[root@ambari ~]# for i in {10..13}
do
ssh 192.168.1.$i "systemctl disable --now firewalld; setenforce 0 && sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config"
done

1.7 修改最大打开文件数量限制和修改umask值

#官网建议打开文件描述符的最大数量为 10000 或更多
#查看
[root@ambari ~]# ulimit -Sn
1024
[root@ambari ~]# ulimit -Hn
4096

#查看 umask
[root@ambari ~]# umask

#临时修改
[root@ambari ~]# ulimit -n 10000

#设置ulimit
[root@ambari ~]# cat >> /etc/profile << 'EOF'

#设置最大打开文件数量
ulimit -n 10000

#设置umask的值
umask 0022
EOF

#加载配置
[root@ambari ~]# source /etc/profile
#分发文件到其他节点
[root@ambari ~]# for i in {1..3}
do
scp /etc/profile hdp-node$i:/etc/profile
done

1.8 安装jdk

#上传jdk安装包
[root@ambari ~]# ll
总用量 135964
-rw-------. 1 root root      1257 329 2023 anaconda-ks.cfg
-rw-r--r--  1 root root 139219380 118 15:19 jdk-8u371-linux-x64.tar.gz

#解压
[root@ambari ~]# tar -xf jdk-8u371-linux-x64.tar.gz -C /usr/local/

#配置环境变量
[root@ambari ~]# cat >> /etc/profile << 'EOF'

#Set for java
export JAVA_HOME=/usr/local/jdk1.8.0_371
export PATH=$PATH:$JAVA_HOME/bin
EOF

#加载环境变量
[root@ambari ~]# source /etc/profile
#分发文件到其他节点
[root@ambari ~]# for i in {1..3}
do
scp -r /usr/local/jdk1.8.0_371/ hdp-node$i:/usr/local/
scp /etc/profile hdp-node$i:/etc/profile
done

1.9 配置本地基础镜像yum源

[root@ambari ~]# cat >> /etc/fstab << 'EOF'

/media/CentOS-7-x86_64-Everything-2009.iso /mnt iso9660 defaults 0 0
EOF

[root@ambari ~]# mount -a

[root@ambari ~]# cat >> /etc/yum.repos.d/local.repo << 'EOF'
[dvd]
name=dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF

#镜像中包含了 libtirpc-0.2.4-0.16.el7.x86_64.rpm;libtirpc-devel-0.2.4-0.16.el7.x86_64.rpm ambari在部署hdp集群时会自动安装这两个包

1.10 准备安装包并上传到服务器

ambari-2.7.5.0-centos7.tar.gz
HDP-3.1.5.0-centos7-rpm.tar.gz
HDP-GPL-3.1.5.0-centos7-gpl.tar.gz
HDP-UTILS-1.1.0.22-centos7.tar.gz
mysql-connector-java-5.1.49.jar

安装包获取地址:
链接: 点击下载
提取码:wy6b

2 配置Ambari HDP本地yum源

2.1 部署 http 服务

#安装httpd
[root@ambari ~]# yum -y install httpd

[root@ambari ~]# mkdir /var/www/html/{ambari,hdp}

[root@ambari ~]# cd HDP3.1.5/
[root@ambari HDP3.1.5]# tar -xf ambari-2.7.5.0-centos7.tar.gz -C /var/www/html/ambari/
[root@ambari HDP3.1.5]# tar -xf HDP-3.1.5.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
[root@ambari HDP3.1.5]# tar -xf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/
[root@ambari HDP3.1.5]# tar -xf HDP-GPL-3.1.5.0-centos7-gpl.tar.gz -C /var/www/html/hdp/

[root@ambari HDP3.1.5]# systemctl enable --now httpd

访问地址

http://192.168.1.10/ambari/ambari/centos7/2.7.5.0-72/
#访问报错
Error: [object Object]

#解决办法,删除或移走html文件
[root@ambari HDP3.1.5]# cd /var/www/html/ambari/ambari/centos7/2.7.5.0-72/
[root@ambari 2.7.5.0-72]# mv *.html /root/

http://192.168.1.10/hdp/HDP/centos7/3.1.5.0-152/

[root@ambari 2.7.5.0-72]# cd /var/www/html/hdp/HDP/centos7/3.1.5.0-152/
[root@ambari 3.1.5.0-152]# mv *.html /root/

http://192.168.1.10/hdp/HDP-GPL/centos7/3.1.5.0-152/

http://192.168.1.10/hdp/HDP-UTILS/centos7/1.1.0.22/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 配置 Ambari yum 源

[root@ambari ~]# cat > /etc/yum.repos.d/ambari.repo << 'EOF'
#VERSION_NUMBER=2.7.5.0-72
[Ambari-2.7.5.0-72]
name=Ambari-2.7.5.0-72
baseurl=http://192.168.1.10/ambari/ambari/centos7/2.7.5.0-72/
gpgcheck=1
gpgkey=http://192.168.1.10/ambari/ambari/centos7/2.7.5.0-72/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
EOF

2.3 配置hdp yum 源

[root@ambari ~]# cat > /etc/yum.repos.d/hdp.repo << 'EOF'
#VERSION_NUMBER=3.1.5.0-152
[HDP-3.1.5.0-152]
name=HDP-3.1.5.0-152
baseurl=http://192.168.1.10/hdp/HDP/centos7/3.1.5.0-152/
gpgcheck=1
gpgkey=http://192.168.1.10/hdp/HDP/centos7/3.1.5.0-152/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-GPL-3.1.5.0-152]
name=HDP-GPL-3.1.5.0-152
baseurl=http://192.168.1.10/hdp/HDP-GPL/centos7/3.1.5.0-152/
gpgcheck=1
gpgkey=http://192.168.1.10/hdp/HDP-GPL/centos7/3.1.5.0-152/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-UTILS-1.1.0.22]
name=HDP-UTILS-1.1.0.22
baseurl=http://192.168.1.10/hdp/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=1
gpgkey=http://192.168.1.10/hdp/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
EOF

2.4 拷贝yum源配置文件到其他节点

[root@ambari ~]# for i in {1..3}
do
scp -r /etc/yum.repos.d/* hdp-node$i:/etc/yum.repos.d/
done

3 安装MariaDB并配置

3.1 安装并启动 MariaDB

#卸载系统自带的
[root@ambari ~]# yum -y remove mariadb*

#安装
[root@ambari ~]# yum -y install mariadb-server

#设置开机自启并启动
[root@ambari ~]# systemctl enable --now mariadb.service

#查看启动的端口
[root@ambari ~]# ss -ntulp | grep 3306
tcp    LISTEN     0      50        *:3306                  *:*                   users:(("mysqld",pid=1382,fd=14))

如果安装Ranger 需要修改加上官网给出的这个参数

#在配置文件加上此配置
cat >> /etc/my.cnf << 'EOF'

log_bin_trust_function_creators = 1
EOF

在这里插入图片描述

3.2 初始化 MariaDB

#修改初始化密码,或者直接在初始化数据库的时候修改都可以
[root@ambari ~]# mysqladmin -uroot password '123'

#初始化数据库
[root@ambari ~]# /usr/bin/mysql_secure_installation
 ...
Enter current password for root (enter for none):
 ...
Change the root password? [Y/n] n
 ...
Remove anonymous users? [Y/n] y
 ...
Disallow root login remotely? [Y/n] n
 ...
Remove test database and access to it? [Y/n] y
 ...
Reload privilege tables now? [Y/n] y
 ...
Thanks for using MariaDB!

3.3 安装MariaDB安装驱动

[root@ambari ~]# mv mysql-connector-java-5.1.49.jar /usr/share/java/mysql-connector-java.jar

3.4 重启mariadb登录验证

[root@ambari ~]# systemctl restart mariadb.service 
[root@ambari ~]# mysql -uroot -p
Enter password:

4 部署 Ambari-server服务

4.1 安装 Ambari-server

[root@ambari ~]# yum -y install ambari-server

4.2 修改Ambari 配置

#为ambari添加驱动配置,配置文件最后追加一行
[root@ambari ~]# cat >> /etc/ambari-server/conf/ambari.properties << 'EOF'

server.jdbc.driver.path=/usr/share/java/mysql-commector-java.jar
EOF

4.3 初始化ambari-server

[root@ambari ~]# ambari-server setup
...
Customize user account for ambari-server daemon [y/n] (n)? y
...
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
==============================================================================
Enter choice (1): 2
...
Path to JAVA_HOME: /usr/local/jdk1.8.0_371
...
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? y
...
Enter advanced database configuration [y/n] (n)? y
...
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
==============================================================================
Enter choice (1): 3
Hostname (localhost): ambari   
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari
Enter Database Password (bigdata): 
Re-enter password: 
Configuring ambari database...
Should ambari use existing default jdbc /usr/share/java/mysql-connector-java.jar [y/n] (y)? y
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL directly from the database shell to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views...
ambari-admin-2.7.5.0.72.jar
....
Ambari repo file doesn't contain latest json url, skipping repoinfos modification
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.

在这里插入图片描述

在这里插入图片描述

4.4 创建 Ambari 需要的相关数据库

[root@ambari ~]# mysql -uroot -p123
-- 配置ambari库

MariaDB [(none)]> create database ambari default charset utf8;

MariaDB [(none)]> use ambari;

MariaDB [ambari]> create user 'ambari'@'%' identified by '123';

MariaDB [ambari]> grant all privileges on *.* to 'ambari'@'%';

MariaDB [ambari]> create user 'ambari'@'localhost' identified by '123';

MariaDB [ambari]> grant all privileges on *.* to 'ambari'@'localhost';

MariaDB [ambari]> create user 'ambari'@'ambari' identified by '123';

MariaDB [ambari]> grant all privileges on *.* to 'ambari'@'ambari';

MariaDB [ambari]> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

MariaDB [ambari]> use mysql;

MariaDB [mysql]> select host,user from user where user='ambari';
+-----------+--------+
| host      | user   |
+-----------+--------+
| %         | ambari |
| ambari    | ambari |
| localhost | ambari |
+-----------+--------+

-- 配置hive库

MariaDB [mysql]> create database hive default charset utf8;

MariaDB [mysql]> create user 'hive'@'%' identified by '123';

MariaDB [mysql]> grant all privileges on *.* to 'hive'@'%';

MariaDB [mysql]> create user 'hive'@'%' identified by '123';

MariaDB [mysql]> grant all privileges on *.* to 'hive'@'%';

MariaDB [mysql]> create user 'hive'@'localhost' identified by '123';

MariaDB [mysql]> grant all privileges on *.* to 'hive'@'localhost';

MariaDB [mysql]> create user 'hive'@'ambari' identified by '123';

MariaDB [mysql]> grant all privileges on *.* to 'hive'@'ambari';

-- 配置ozzie库

MariaDB [mysql]> create database ozzie default charset utf8;

MariaDB [mysql]> create user 'ozzie'@'%' identified by '123';

MariaDB [mysql]> grant all privileges on *.* to 'ozzie'@'%';

MariaDB [mysql]> create user 'ozzie'@'localhost' identified by '123';

MariaDB [mysql]> grant all privileges on *.* to 'ozzie'@'localhost';

MariaDB [mysql]> create user 'ozzie'@'ambari' identified by '123';

MariaDB [mysql]> grant all privileges on *.* to 'ozzie'@'ambari';

-- 重新加载权限
MariaDB [mysql]> flush privileges;

4.5 启动 Ambari-server

[root@ambari ~]# ambari-server start

4.6 部署 HDP 集群

  • 浏览器访问 http://192.168.1.10:8080/

​ 账号密码: admin / admin

在这里插入图片描述

  • 选择版本,并配置yum源

​ 点击 LAUNCH INSTALL WIZARD

在这里插入图片描述

  • 配置集群名称

在这里插入图片描述

  • 选择版本

​ HDP-3.1(Default Version Definition)

​ Use Local Repository

​ redhat7:

​ HDP-3.1 http://192.168.1.10/hdp/HDP/centos7/3.1.5.0-152

​ HDP-3.1-GPL http://192.168.1.10/hdp/HDP-GPL/centos7/3.1.5.0-152

​ HDP-UTILS-1.1.0.22 http://192.168.1.10/hdp/HDP-UTILS/centos7/1.1.0.22

在这里插入图片描述

在这里插入图片描述

  • 配置安装节点和秘钥

​ ambari服务器上执行 cat /root/.ssh/id_rsa 将内容复制到页面上

在这里插入图片描述

  • 等待安装完成

在这里插入图片描述

在这里插入图片描述

  • 选择需要安装的服务

在这里插入图片描述

  • 指定master

在这里插入图片描述

  • 指定slave

在这里插入图片描述

  • 设置服务的密码

全都1234

在这里插入图片描述

  • 连接数据库
[root@ambari ~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

在这里插入图片描述

  • 默认选择 下一步

在这里插入图片描述

  • 默认选择 下一步

在这里插入图片描述

  • 继续下一步

在这里插入图片描述

  • 继续下一步

在这里插入图片描述

  • 等待安装完成

在这里插入图片描述

  • 安装完成

在这里插入图片描述

4.7 后记

在Ambari中安装 HDP 时,默认组件将被安装在以下目录中:

  1. /usr/hdp/:这是HDP组件的主要安装目录。通过Ambari安装的各组件(如Hadoop、Hadoop YARN、Hadoop MapReduce等)的默认安装路径都在这个目录下。
  2. /etc/ambari-server/:这个目录包含Ambari的配置文件。例如,你可以在这个目录下找到server.properties文件,它包含了Ambari服务器的配置信息。
  3. /var/log/ambari-server/:这个目录用于存放Ambari服务器的日志文件。
  4. /usr/lib/ambari-server/:这个目录包含了Ambari自身的服务。

以上信息仅供参考,具体路径可能会因版本或自定义配置而有所不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.L-OAM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值