1. Ambari和HDP安装

1.1 兼容情况

Ambari 2.7.3仅支持HDP-3.1.0,HDP-3.0.1,HDP-3.0.0

兼容情况
ambari兼容情况

1.2 安装环境

组件描述
Ambari2.7.3
HDP3.1.0.0
HDP-UTILS1.1.0.22
MySQL5.7
OracleJDK8JDK 1.8.0_161
操作系统Centos7.6

Ambari下载

HDP-GPL-3.1.0.0 较小,后续可直接在线装
HDP下载

1.3 集群规划

hostnameip用处内存硬盘
yum.hdp192.168.110.30Ambari/HDP packages4G50G
node-1.hdp192.168.110.31Ambari Server6G50G
node-2.hdp192.168.110.32Compute Node4G50G
node-3.hdp192.168.110.33Compute Node4G50G

ambari安装过多的服务,4G,6G内存是不够的。虚拟机环境,不需要的服务尽量不要安装,后续可以再添加!

2. 搭建虚拟机

因为访问慢,不能在线安装,所以先配置yum.hdp的虚拟机,进行本地安装。

设置hosts

vi /etc/hosts 

设置hosts

2.1 安装时间同步服务ntp

群集中所有节点的时钟以及运行浏览器的计算机必须能够彼此同步才能访问Ambari Web界面。
安装时间同步服务ntp,启动再查看状态,并设置自启

yum -y install ntp 
systemctl start ntpd.service 
systemctl status ntpd.service
systemctl enable ntpd.service

时间同步服务ntp

2.2 关闭THP

不关闭THP,Hadoop的系统CPU使用率很高

出现以下情况启动了THP
查看thp
永久关闭

vi /etc/rc.d/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
 echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
 echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

关闭thp
赋予执行权限,然后重启

chmod +x /etc/rc.d/rc.local

关闭thp

2.3 最大打开文件要求

建议的最大打开文件描述符数为10000或更多。要检查为最大打开文件描述符数设置的当前值,请在每个主机上执行以下shell命令:

ulimit -Sn
ulimit -Hn

最大打开文件要求
如果输出不大于10000,请运行以下命令将其设置为合适的默认

ulimit -n 10000

最大打开文件要求

2.4 克隆虚拟机

关闭,不使用镜像文件
克隆虚拟机
克隆
克隆虚拟机
克隆虚拟机
克隆虚拟机
再克隆两台node-2.hdp node-3.hdp
克隆虚拟机
克隆虚拟机
启动node-1,node-2,node-3依次修改ip地址和hostname

vi /etc/sysconfig/network-scripts/ifcfg-ens33
service network start
vi /etc/sysconfig/network
hostnamectl set-hostname node-x.hdp

修改hostname
修改hostname
修改hostname
关闭虚拟机,重新分配内存

3. 安装Ambari

3.1 安装MySQL

node-1.hdp 安装MySQL

yum install wget
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

启动MySQL并设置开机自启

systemctl start mysqld.service 
systemctl status mysqld.service 
systemctl stop mysqld.service 
systemctl enable mysqld.service 

找出密码

grep 'password' /var/log/mysqld.log 

安装mysql

systemctl start mysqld.service
mysql -u root -p

安装mysql
修改root密码,并设置任何ip都可访问

set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER 'root'@'%' IDENTIFIED BY 'root';

因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉

yum -y remove mysql57-community-release-el7-10.noarch

配置MySQL编码,字符格式

vim /etc/my.cnf

在[mysqld]下添加

collation_server=utf8_general_ci
character_set_server=utf8
default-storage-engine=INNODB

在[client]下添加(如果没有[client],则创建)

default_character-set=utf8

安装mysql
重启MySQL服务:

systemctl restart mysqld.service

查看字符集:

show variables like 'character_set_%';

安装mysql
创建ambari数据库及数据库的用户名和密码

set global validate_password_policy=0;
set global validate_password_length=1;
create database ambari character set utf8;
create user 'ambari'@'%' identified by 'ambari';
grant all privileges on ambari.* to 'ambari'@'%';
flush privileges;

创建hive数据库及hive库的用户名和密码

set global validate_password_policy=0;
set global validate_password_length=1;
create database hive character set utf8;
create user 'hive'@'%' identified by 'hive';
grant all privileges on ambari.* to 'hive'@'%';
grant all privileges on hive.* to 'hive'@'%';
flush privileges;

3.2 免密登录

windows添加hosts
windows添加hosts
node-1.hdp 对 node-1.hdp,node-2.hdp,node-3.hdp 免密登陆

node-1.hdp 内执行:

ssh-keygen -t rsa
ssh-copy-id node-1.hdp
ssh-copy-id node-2.hdp
ssh-copy-id node-3.hdp

node-2.hdp 对 node-2.hdp,node-3.hdp 免密登陆

node-2.hdp 内执行:

ssh-keygen -t rsa
ssh-copy-id node-2.hdp
ssh-copy-id node-3.hdp

3.3 安装yum相关工具和httpd

yum.hdp 安装yum相关工具

yum install yum-utils -y
yum repolist
yum install createrepo -y

yum.hdp 安装httpd,启动并查看状态,设置自启

yum install httpd -y
systemctl start httpd     
systemctl status httpd       
systemctl enable httpd    

安装完成后,会生成 /var/www/html目录(相当于Tomcat的webapps目录),进入到/var/www/html目录下,创建ambari和hdp目录,用来存放安装文件。

mkdir /var/www/html/ambari
mkdir /var/www/html/hdp
mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.22
tar -zxvf ambari-2.7.3.0-centos7.tar.gz -C /var/www/html/ambari/
tar -zxvf HDP-3.1.0.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22/

访问 http://192.168.110.30:80
测试httpd
可访问ambari
测试httpd
可访问HDP
测试httpd

3.4 配置本地repo

yum.hdp 下载 ambari.repo

wget -O /etc/yum.repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari.repo

修改 ambari.repo

vi /etc/yum.repos.d/ambari.repo

配置ambari
yum.hdp 新增HDP.repo

#VERSION_NUMBER=3.1.0.0-78
[HDP-3.1.0.0]
name=HDP Version - HDP-3.1.0.0
baseurl=http://192.168.110.30/hdp/HDP/centos7
gpgcheck=1
gpgkey=http://192.168.110.30/hdp/HDP/centos7/3.1.0.0-78/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

yum.hdp 新增HDP-UTILS.repo

#VERSION_NUMBER=1.1.0.22
[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://192.168.110.30/hdp/HDP-UTILS-1.1.0.22
gpgcheck=1
gpgkey=http://192.168.110.30/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

yum.hdp 分发 ambari.repo、HDP.repo和HDP-UTILS.repo,把ambari.repo HDP.repo 到node-1.hdp,node-2.hdp和node-3.hdp,三个文件都会在相同的目录下

scp ambari.repo HDP.repo HDP-UTILS.repo node-1.hdp:$PWD
scp ambari.repo HDP.repo HDP-UTILS.repo node-2.hdp:$PWD
scp ambari.repo HDP.repo HDP-UTILS.repo node-3.hdp:$PWD

yum.hdp 创建仓库

createrepo /var/www/html/hdp/HDP/centos7/
createrepo /var/www/html/hdp/HDP-UTILS-1.1.0.22/

node-1.hdp 安装ambari-server,setup时都选择y,选择Custom JDK并输入JAVA_HOME地址,选择MySQL,输入hostname

yum install ambari-server
ambari-server setup

node-1.hdp 内用之前创建的ambari账户登录mysql,创建表

mysql -u ambari -p -h node-1.hdp
show databases;
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
show tables;

node-1.hdp,node-2.hdp和node-3.hdp安装ambari-agent

yum -y install ambari-agent

node-1.hdp 启动ambari-server,若失败,改为stop再重启

ambari-server start

访问 http://192.168.110.31:8080 默认账号密码admin

4. 集群安装

选择local
安装集群
安装集群
SSH输入选择node-1.hdp

cd ~/.ssh
cat id_rsa

安装集群
安装集群
按需求选择安装的组件,后续还可以安装
安装集群
安装集群
安装集群
依次设置的密码

admin
hive
admin

安装集群
hive需要mysql-connector-java.jar,安装完可下一步

node-1.hdp 执行

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

安装集群
安装集群
安装集群
安装集群
安装集群
不管警告,可在展示页面进行查看集群状态
安装集群
安装完启动会有问题,可以先启动zookeeper server,看日志报错。再启动全部

5. 坑

  • 一开始java装在root目录下,后面ambari创建各组件用户时没权限,四个虚拟机都把安装目录移到了/usr/local下。之前执行ambari-server setup配置的JAVA_HOME也要进行修改,重新执行一边该命令,配置一下,再启动。
  • 一开始只创建hive用户和访问ambari数据库的权限,也可以再创建hive的元数据库,并将权限给hive。

参考:
hortonworks官网教程
Ambari2.5.2+HDP2.6.2+Centos7.3离线大数据平台搭建

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐