文章目录

  • 前言
  • Ambari
  • HDP
  • HDP-UTILS
  • 一、安装准备
  • 1.1 Ambari、HDP版本介绍
  • 1.2 设备前置安装
  • 1.2.1 关闭防火墙
  • 1.2.2 无密登录
  • 1.2.3 jdk安装
  • 1.2.4 服务器时间同步
  • 1.2.5 禁用SELINUX
  • 1.2.6 umask修改
  • 1.2.7 修改所有节点的文件句柄数
  • 1.2.8 修改yum源
  • 1.3 软件准备
  • 二、离线安装
  • 2.1 安装httpd服务
  • 2.2 解压文件
  • 2.3 制作本地源
  • 2.4 安装ambari-server
  • 2.5 安装mysql数据库
  • 2.6 建立mysql与ambari的连接
  • 2.7 初始化启动Ambari-server
  • 三、安装配置部署HDP集群



前言

Ambari

  • Apache Ambari是用于置备,管理和监视Apache Hadoop集群的工具。 Ambari由一组RESTful API和一个基于浏览器的管理界面组成。
  • Ambari使系统管理员可以:
  • 设置Hadoop集群: Ambari提供了一个易于使用的分步向导,用于在任意数量的主机上安装Hadoop服务。Ambari处理集群的Hadoop服务的配置;
  • 管理Hadoop集群:Ambari提供了用于在整个集群中启动,停止和重新配置Hadoop服务的集中管理;
  • 监控Hadoop集群:Ambari提供了一个仪表板,用于监视Hadoop集群的运行状况和状态。
    当需要引起您的注意时(例如,节点故障,剩余磁盘空间不足等),Ambari会发送电子邮件;

HDP

  • HDP是hortonworks的软件栈,里面包含了hadoop生态系统的所有软件项目,比如HBase,Zookeeper,Hive,Pig等;

HDP-UTILS

  • HDP-UTILS是工具类库;

一、安装准备

1.1 Ambari、HDP版本介绍

安装软件版本关系介绍:产品兼容性信息

centos 离线安装ntp centos 离线安装 armadillo_ambari


1.2 设备前置安装

准备好三台Centos7服务器


1.2.1 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

1.2.2 无密登录

记得先编辑/etc/hosts,将主机名映射配置好

#所有服务器生成秘钥
ssh-keygen -t rsa -P ''

#每台依次发送公钥至集群每天机器
ssh-copy-id hd01
ssh-copy-id hd02
ssh-copy-id hd03

1.2.3 jdk安装

#解压安装包
tar -zxvf jdk-8u111-linux-x64.tar.gz -C /opt/software/

#重命名
mv jdk1.8.0_111 jdk1180

#添加环境变量
vi /etc/profile.d/my.sh

#JAVA_HOME
export JAVA_HOME=/opt/software/jdk180
export PATH=$PATH:$JAVA_HOME/bin
export CLASS_PATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

#更新环境变量
source /etc/profile

#验证安装
java -version

1.2.4 服务器时间同步

#所有节点都要安装
yum -y install ntp

#修改时间服务器配置
#将给的ntp注释
vi /etc/ntp.conf

server  
server  
server 

centos 离线安装ntp centos 离线安装 armadillo_centos 离线安装ntp_02


#只在主节点上启动
ntp systemctl start ntpd.service systemctl enable ntpd.service 

#开机自动启动 #其他节点修改任务调度 
crontab -e 
0-59/10 * * * * /usr/sbin/ntpdate master

centos 离线安装ntp centos 离线安装 armadillo_centos_03


1.2.5 禁用SELINUX

# 修改selinux配置文件 
vi /etc/selinux/config 
SELINUX=disabled

centos 离线安装ntp centos 离线安装 armadillo_ambari_04


1.2.6 umask修改

  • 默认022:授权新文件或文件夹755的读、写、执行的权限
vi /etc/profile 
umask 0022

centos 离线安装ntp centos 离线安装 armadillo_centos_05


1.2.7 修改所有节点的文件句柄数

# 所有节点 
vi /etc/security/limits.conf 

soft nofile 65536
hard nofile 65536
soft nproc 131072
hard nproc 131072
# End of file

centos 离线安装ntp centos 离线安装 armadillo_ambari_06


1.2.8 修改yum源

#主节点修改
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
yum clean all 
yum makecache

1.3 软件准备

  • 软件:

二、离线安装

2.1 安装httpd服务

#主节点安装
yum -y install httpd 
service httpd restart 
chkconfig httpd on

2.2 解压文件

  • 将下载的文件存放在httpd服务中
#新建文件夹
mkdir /var/www/html/hdp
# 上传文件到此文件夹
# 解压后可删除源文件

# 然后可以访问站点测试 
http://192.168.192.180/hdp

centos 离线安装ntp centos 离线安装 armadillo_centos 离线安装ntp_07

centos 离线安装ntp centos 离线安装 armadillo_centos_08


2.3 制作本地源

  • 安装本地源制作相关工具(主服务器)
# 这两部要运行在 /var/www/html/hdp目录下 
yum install yum-utils createrepo yum-plugin-priorities -y 
createrepo ./

  • 修改文件里面的源地址(主服务器)
# 修改ambari.repo配置 
vi ambari/centos7/2.7.3.0-139/ambari.repo 

name=ambari Version - ambari-2.7.3.0 
baseurl=http://192.168.237.180/hdp/ambari/centos7/2.7.3.0-139 
gpgcheck=1 
gpgkey=http://192.168.237.180/hdp/ambari/centos7/2.7.3.0-139/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins 
enabled=1 
priority=1

centos 离线安装ntp centos 离线安装 armadillo_mysql_09


  • 把设置好的yum文件,复制到/etc/yum.repos.d/
cp ambari/centos7/2.7.3.0-139/ambari.repo /etc/yum.repos.d/ 
scp -r ambari/centos7/2.7.3.0-139/ambari.repo root@hd02:/etc/yum.repos.d/ 
scp -r ambari/centos7/2.7.3.0-139/ambari.repo root@hd03:/etc/yum.repos.d/

centos 离线安装ntp centos 离线安装 armadillo_centos 离线安装ntp_10


  • 设置HDP的yum源
vi HDP/centos7/3.1.0.0-78/hdp.repo 

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

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

centos 离线安装ntp centos 离线安装 armadillo_centos 离线安装ntp_11


  • 把设置好的yum文件,复制到/etc/yum.repos.d/
cp HDP/centos7/3.1.0.0-78/hdp.repo /etc/yum.repos.d/ 
scp -r HDP/centos7/3.1.0.0-78/hdp.repo root@hd02:/etc/yum.repos.d/ 
scp -r HDP/centos7/3.1.0.0-78/hdp.repo root@hd03:/etc/yum.repos.d/

centos 离线安装ntp centos 离线安装 armadillo_centos 离线安装ntp_12


  • 把设置好的yum重置
yum clean all 
yum makecache 
yum repolist

2.4 安装ambari-server

yum -y install ambari-server

2.5 安装mysql数据库

#移除mariadb数据库
rpm -qa | grep mariadb 
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm 
rpm -ivh mysql-community-release-el6-5.noarch.rpm 
yum --enablerepo=mysql56-community clean metadata 
yum install mysql-community-server -y 
service mysqld start 
chkconfig --list | grep mysqld
chkconfig mysqld on

#mysql 登录 设置密码 远程登录创建使用的库和表
mysql -uroot
mysql> set password for 'root'@'localhost' = password('ok'); 
mysql> grant all privileges on *.* to 'root'@'%' identified by 'ok';



#创建ambari-server需要用到的库表 
CREATE DATABASE ambari; 
use ambari; 
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ok'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%'; 
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ok'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost'; 
CREATE USER 'ambari'@'hd01' IDENTIFIED BY 'ok'; 
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'hd01'; 
FLUSH PRIVILEGES;


source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql 
show tables; 
use mysql; 
select Host,User,Password from user where user='ambari';


#创建hive需要的数据库和用户 
CREATE DATABASE hive; 
use hive; 
CREATE USER 'hive'@'%' IDENTIFIED BY 'ok'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%'; 
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'ok'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost'; 
CREATE USER 'hive'@'hd01' IDENTIFIED BY 'ok'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hd01'; 
FLUSH PRIVILEGES;

#创建oozie需要的数据库和用户 
CREATE DATABASE oozie; 
use oozie; 
CREATE USER 'oozie'@'%' IDENTIFIED BY 'ok'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%'; 
CREATE USER 'oozie'@'localhost' IDENTIFIED BY 'ok'; 
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'localhost'; 
CREATE USER 'oozie'@'hd01' IDENTIFIED BY 'ok';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'hd01'; 
FLUSH PRIVILEGES;

2.6 建立mysql与ambari的连接

#下载mysql-connector-java-5.1.38.jar放到root文件下
mkdir /usr/share/java 
cp /opt/download/mysql-connector-java-5.1.32.jar /usr/share/java/mysql-connector-java.jar
cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar

#编辑ambari.properties文件
vi /etc/ambari-server/conf/ambari.properties 
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

#运行安装mysql-connector-java 
yum install mysql-connector-java

2.7 初始化启动Ambari-server

#ambari服务设置
ambari-server setup

除了创建数据库 ambari 时需要两次输入密码外,其余都是 'y' 'n'

centos 离线安装ntp centos 离线安装 armadillo_mysql_13


#启动服务
#漫长的等待提示successful表示成功,返回exit1的表示有问题
ambari-server start

#所有节点安装ambari-agent
yum -y install ambari-agent 
chkconfig --add ambari-agent

三、安装配置部署HDP集群

切换至网页: http://IPADDRESS:8080

  • 登录进入Ambari

  • 安装集群

  • 命名集群的名字

  • 将本地镜像hdp的对应路径复制至此路径下

  • 添加集群和秘钥

  • 验证集群

  • 选择安装服务列表

这里Range KMS不选,如果勾选了在安装服务时可能会有问题

centos 离线安装ntp centos 离线安装 armadillo_centos 离线安装ntp_14


centos 离线安装ntp centos 离线安装 armadillo_centos_15


  • 这里将Datanode、Nodemanger、Client全部勾选

  • 设置密码
  • hive元数据配置选择之前创建的数据库

centos 离线安装ntp centos 离线安装 armadillo_centos_16

  • OOIZE选择已有的数据库
  • RANGER选已有的数据库或其他数据库

  • NEXT

  • NEXT

  • 安装服务配置修改

centos 离线安装ntp centos 离线安装 armadillo_ambari_17


  • 确认后DEPLOY

  • 开始安装
  • 漫长的等待…