搭建Ambari平台安装与部署Hadoop

一、环境要求

1.支持的组件版本
https://supportmatrix.hortonworks.com/

本文以Ambari 2.7.3.0为例,支持的组件的版本如下(部分):
Ubuntu 18.04、16.04、14.04(Ambari 2.7.1和2.7.0只支持Ubuntu 16.04)
JDK 8(至少1.8.0_77以上版本)
MySQL 5.7(只支持InnoDB引擎)

 

2.软件要求
Python(带有python-devel*)
Ambari Metrics Monitor用到一个python库(psutil),该库依赖gcc和python-devel包。

 

3.本文使用的软件环境

操作系统:Ubuntu Server 18.04

JDK:1.8.0

 

二、运行环境配置

* 此步骤不能跳过,否则会出现各种报错

https://www.cnblogs.com/live41/p/15525826.html

 

三、安装第三方软件

* 先登录root账号再进行以下操作

* 以下操作每台机都需要执行一次。

1.安装JDK
JDK版本至少要1.8.0_77以上。
https://www.cnblogs.com/live41/p/14235891.html

 

2.安装Python
提示:根据第2点的要求,需要安装python-devel

apt install python2.7 python2.7-dev

 

3.安装MySQL及Connector
Ambari默认是安装PostgreSQL,如果需要使用MySQL,需要预先安装和配置。只找一台机装即可。
(1) 安装MySQL
https://www.cnblogs.com/live41/p/14235866.html

 

(2) 安装MySQL Connector
https://dev.mysql.com/downloads/connector/j/

下载安装包,并上传到服务器安装

rz
dpkg -i mysql-connector-java_8.0.16-1ubuntu18.04_all.deb

请根据实际使用版本修改安装包的名字

 

四、安装Ambari数据库

1.登录MySQL

mysql -u root -p

* 登录后,操作完以下所有步骤再退出

 

2.创建Ambari账号和权限

CREATE USER 'ambari'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
CREATE USER 'ambari'@'c1.clotho.com' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'c1.clotho.com';
FLUSH PRIVILEGES;

其中ambari是用户名,123456是密码,c1.clotho.com是域名(FQDN),可自定义。

 

3.赋予Ranger组件MySQL权限
如果使用MySQL来存储Ranger组件的数据,需要先赋予Ranger账号超管权限。且存储引擎必须支持事务,例如InnoDB。
(1) 创建用户ranger,密码也是123456,赋予权限

CREATE USER 'ranger'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'localhost';
CREATE USER 'ranger'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

 

(2) 安装Ambari前,需要把log_bin_trust_function_creators设置为1,安装完成后可设置回0。

SET GLOBAL log_bin_trust_function_creators = 1;

 

4.赋予Hive组件MySQL权限

账号是hive,密码是123456,域名(FQDN)是c1.clotho.com

CREATE USER 'hive'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
CREATE USER 'hive'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
CREATE USER 'hive'@'c1.clotho.com' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'c1.clotho.com';
FLUSH PRIVILEGES;

 

5.配置SAM和Schema Registry在MySQL的元数据库
(1) 创建元数据库

CREATE DATABASE registry DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE streamline DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

(2) 创建账号,密码123456

CREATE USER 'registry'@'%' IDENTIFIED BY '123456';
CREATE USER 'streamline'@'%' IDENTIFIED BY '123456';

 (3) 配置权限

GRANT ALL PRIVILEGES ON registry.* TO 'registry'@'%' WITH GRANT OPTION ;
GRANT ALL PRIVILEGES ON streamline.* TO 'streamline'@'%' WITH GRANT OPTION ;

 (4) 提交修改操作

commit;

 

6.配置Druid和Superset Metadata在MySQL的元数据库
(1) 创建元数据库

CREATE DATABASE druid DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE superset DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

(2) 创建账号,密码123456

CREATE USER 'druid'@'%' IDENTIFIED BY '123456';
CREATE USER 'superset'@'%' IDENTIFIED BY '123456';

 (3) 配置权限

GRANT ALL PRIVILEGES ON *.* TO 'druid'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'superset'@'%' WITH GRANT OPTION;

 (4) 提交修改操作

commit;

 

7.退出MySQL

exit;

 

五、安装Ambari

1.使用本地源安装(可选)
(1) 搭建本地源
https://www.cnblogs.com/live41/p/14236916.html

 

(2) 创建源列表文件
在/etc/apt/sources.list.d目录下新增2个文件,并输入源信息。

ambari.list

deb http://127.0.0.1/ambari/ubuntu18/2.7.3.0-139/ Ambari main

ambari-hdp.list

deb http://127.0.0.1/HDP-GPL/ubuntu18/3.1.0.0-78/ HDP-GPL main
deb http://127.0.0.1/HDP-UTILS/ubuntu18/1.1.0.22/ HDP-UTILS main
deb http://127.0.0.1/HDP/ubuntu18/3.1.0.0-78/ HDP main

* 如果nginx的server配置的是192.168.100.105,这里的127.0.0.1就要替换成192.168.100.105

 

(3) 添加密钥(在所有机执行)

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD

 

(4) 更新源信息(在所有机执行)

apt update

 

(5) 检查

apt-cache showpkg ambari-server
apt-cache showpkg ambari-agent
apt-cache showpkg ambari-metrics-assembly

 

2.安装Ambari

apt install ambari-server

 

3.创建Ambari库

(1) 登录MySQL

mysql -u root -p

(2) 创建数据库,载入数据表及数据

CREATE DATABASE ambari;
USE ambari;
SOURCE /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

* 安装了ambari-server后,/var/lib/ambari-server/resources目录下会存在Ambari-DDL-MySQL-CREATE.sql文件。

 

4.配置Ambari

ambari-server setup

(1) Customize user account for ambari-server daemon?

选n

(2) 选JDK版本
选2
输入JDK安装路径,一般是/usr/bin/jdk1.8.0/

(3) Enable Ambari Server to download and install GPL Licensed LZO packages?
选n

(4) Enter advanced database configuration?
选y

(5) 选数据库
选3

Hostname:localhost

Port:3306

Database:ambari

Username: root(上面用ambari这里就用ambari,上面用root这里就用root)

Password: 123456

 

(6) 设置Ambari的JDBC组件

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

 

5.启动Ambari

ambari-server start

 

6.使用Ambari平台安装Hadoop组件
(1) 打开Ambari平台
在浏览器输入http://192.168.100.105:8080(以c1作为Ambari的主机)

 

(2) 登录
默认的用户名和密码都是admin

 

(3) 开始安装
点击Launch Install Wizard按钮

 

(4) 填写集群名
这里用Clotho,可自定义

 

(5) 选择Hadoop组件版本
使用默认,直接点击下一步。


(6) 配置安装源

这里用本地源,勾选“Use Local Repository”
HDP-3.1:http://192.168.100.105/HDP/ubuntu18/3.1.0.0-78/
HDP-UTILS-1.1.0.22:http://192.168.100.105/HDP-UTILS/ubuntu18/1.1.0.22/


(7) 配置主机名
在Target Hosts框输入:

c1.clotho.com
c2.clotho.com
c3.clotho.com
c4.clotho.com

 

(8) 上传ssh密钥来注册所有主机
注册的作用是让Ambari免密登录所有主机并进行批量安装操作
a.找一台主机下载之前生成的密钥,留意是使用不带.pub后缀的那个文件。

sz /root/.ssh/id_rsa

如果没有sz命令,先安装:

apt install lrzsz

b.点击Ambari界面的Choose File,并选择id_rsa文件上传。


(9) Ambari在所有主机安装ambari-agent

该过程为自动化执行。
如果出现以下错误(行号可能会略有不同)或类似错误。
“/var/lib/ambari-agent/tmp/ambari-sudo.sh: line 50: python: command not found”

请手动重装ambari-agent:

apt install ambari-agent --reinstall

 

附录:

原生部署Hadoop(非高可用)

https://www.cnblogs.com/live41/p/15467263.html

 

原生部署Hadoop(高可用,ZooKeeper)

https://www.cnblogs.com/live41/p/15483192.html

 

posted @ 2021-01-05 17:13  Clotho_Lee  阅读(1052)  评论(0编辑  收藏  举报