超全步骤——Ambari+HDP部署

Posted 张芒果

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超全步骤——Ambari+HDP部署相关的知识,希望对你有一定的参考价值。

Ambari 相关文档地址

Ambari 官方资料入口:
https://www.cloudera.com/products/open-source/apache-hadoop/apache-ambari.html

Ambari 相关 rpm 包:
https://docs.cloudera.com/HDPDocuments/Ambari-2.7.3.0/bk_ambari-installation/content/ambari_repositories.html

HDP 相关 rpm 包:
https://docs.cloudera.com/HDPDocuments/Ambari-2.7.3.0/bk_ambari-installation/content/hdp_31_repositories.html

Ambari 相关软件版本适配表:
https://supportmatrix.hortonworks.com/

本文采用的是3台节点的安装

硬件环境

操作系统: Centos-7

节点类型主机名
主节点Hadoop01
从节点Hadoop02
从节点Hadoop03

软件环境

软件环境版本号
JdKjdk1.8.0_321
mysql5.7.29
Ambari2.7.5.0
HDP3.1.5.0

修改主机名(三台主机分别修改主机名)

# 使用hostnamectl命令修改主机名,执行该命令后立即生效,但必须需要重启Xshell连接
# 以其中一台为例,代码如下
hostnamectl set-hostname hadoop01
# 其余的机器也使用hostnamectl命令修改主机名
...(略)

修改hosts文件

# 添加机器ip与主机名映射
vim /etc/hosts

关闭防火墙和selinux

# 查看防火墙状态
systemctl status firewalld
# 查看开机是否启动防火墙服务
systemctl is-enabled firewalld
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 再次查看防火墙状态和开机防火墙是否启动
systemctl status firewalld
systemctl is-enabled firewalld

禁用selinux

# 永久性关闭selinux(重启服务器生效)
sed -i 's/SELINUX=enforcing/SELINUX =disabled/' /etc/selinux/config
# 临时关闭selinux(立即生效,重启服务器失效)
setenforce 0
# 查看selinux状态
getenforce
# disabled为永久关闭,permissive为临时关闭,enforcing为开启

免密登陆

各个主机均执行以下操作:

## 生成密钥对
ssh-keygen -t rsa   ## 一路回车即可
## 进入.ssh目录,如果目录不存在则创建
cd ~/.ssh
## 将公钥导入至authorized_keys
cat id_rsa.pub >> authorized_keys
## 修改文件权限
chmod 700 ~/.ssh
chmod 600 authorized_keys

扔钥匙多主机免密这块就略过了

同时省略了 安装JDK和安装Mysql的步骤

登入Mysql

mysql -u root -p

新增ambari用户并增加权限

mysql -uroot -proot123
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
CREATE USER 'ambari'@'hadoop01' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari’@'hadoop01';  //本地主机名
FLUSH PRIVILEGES;

使用ambari用户登陆并创建数据库

mysql -uambari -pambari
CREATE DATABASE ambari;
exit;

安装httpd和wget服务

# 安装httpd
yum -y install httpd.x86_64
systemctl enable httpd.service
systemctl start httpd.service
# 安装wget
yum -y install wget

ambari和hdp包自行获取哈
然后把包放在/var/www/html/

新建repo文件

新建ambari.repo文件

[ambari]
name=ambari
baseurl=http://hadoop01/ambari/centos7/2.7.5.0-72/
enabled=1
gpgcheck=0

放入/etc/yum.repos.d/目录下。

在主节点安装ambari-server
安装

yum -y install ambari-server

将mysql-connector-java.jar包拷贝到/usr/share/java目录下
修改配置文件

echo server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar >> /etc/ambari-server/conf/ambari.properties

安装ambari-server

ambari-server setup

如下是打印输出:

[root@hadoop01 yum.repos.d]# ambari-server setup
Using python  /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):
Adjusting ambari-server permissions and ownership...
Checking firewall status...
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
==============================================================================
Enter choice (1): 2
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
Path to JAVA_HOME: /opt/software/jdk1.8.0_321
Validating JDK on Ambari Server...done.
Check JDK version for Ambari Server...
JDK version found: 8
Minimum JDK version is 8 for Ambari. Skipping to setup different JDK for Ambari Server.
Checking GPL software agreement...
GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? y
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)? y
Configuring database...
==============================================================================
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): hadoop03
Port (3306): 3306
Database name (ambari): 
Username (ambari): 
Enter Database Password (bigdata): 
Re-enter password: 
Configuring ambari database...
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.
[root@hadoop01 yum.repos.d]#

初始化mysql数据库

mysql -uambari -pambari
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

这里注意一下

卸载SmartSense包

HDP这边有个组件 是SmartSense 这个是一个收费的东西 HDP为了赚money的一个组件 我们要先给他干掉
首先把这些包查出来

删掉

rm -rf /var/lib/ambari-server/resources/stacks/HDP/2.1/services/SMARTSENSE
rm -rf /var/lib/ambari-server/resources/stacks/HDP/3.0/services/SMARTSENSE
rm -rf /var/lib/ambari-agent/cache/stacks/HDP/2.1/services/SMARTSENSE
rm -rf /var/lib/ambari-agent/cache/stacks/HDP/3.0/services/SMARTSENSE


启动ambari-server

ambari-server start

如果启动过程失败,可以去/var/log/ambari-server/ambari-server.log查看报错信息,一般是由于数据库配置不好导致ambari启动失败。

登陆浏览器访问: http://hadoop01:8080/,利用界面部署集群。
默认登陆账号/密码为:admin/admin。

开始部署

Get started

下一步
这里写入集群名称。

Select Version

然后就是HDP的版本信息了
可以选择环境上的 也可以使用 默认的大版本 基本上一样

往下面划 选择使用本地的源

这里选择本地的源文件 (不要使用公共的存储库 会存在一些问题)
在安装的时候 他会把HDP、HDP-GPL、HDP-UTILS 写入mysql中的repo_definition.
我们可以看下:select * from repo_definition;

Install Options

下一步

1:输入主机名 cat /etc/hosts
2:输入私钥 cat ~/.ssh/id_rsa
也就是框的这一段

3:用户名以及端口 因为本文使用root 的 所以上面的私钥也是root 的。

Confirm Hosts

下一步

这里是在检测agent环境 很多异常错误 会在这里产生 (其实在这一步 你的ambari-agent就给你安装了)
大家也可以去看下

日志中就会有hostlist 也就是之前那里填写的那些

然后就会检查主机环境

我这边没有遇到什么错误 检查通过了 有问题的可以留言 我们可以一起看看的

Choose Services

下一步
然后就选择要安装的服务

*

Assign Masters

然后规划节点的实例

Assign Slaves and Clients

这里客户端 我全都装了 装了3个

Customize Services

下一步 这里就是组件的一些相关信息了:(配置相关信息)

下一步 接下来就是更加详细的一些信息了

Review

下一步 接下来就是安装组件的信息了:
镜像源等等。。。。

Install,Start and Test

犹豫环境内存紧张 太卡了 我更改了只安装zk

安装完成


点击完成
就可以看到界面啦(没有监控信息是因为没有安装Ambari Metrics)

安装了hdfs和yarn、Ambari Metrics。
因为安装了Ambari Metrics 所以可以看到监控了

以上是关于超全步骤——Ambari+HDP部署的主要内容,如果未能解决你的问题,请参考以下文章

ambari+hdp安装

2021年1月31日后使用Ambari部署HDP和HDF集群(上)迅雷YYDS

原创大数据基础之Ambari通过Ambari部署Airflow

Ambari ambari安装

大数据之Ambari2.7+HDP3.0(一)

基于hortonworks的大数据集群环境部署流水