一、下载安装包
因为使用在线安装特别慢,所有的安装包加起来有9个G左右,所以本教程是通过迅雷下载包,然后上传到服务器,通过配置本地源的方式来实现的离线安装。通过ambari安装需要下载下面的三个主要包:
HDP:http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
ambari:http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz
HDP-UTILS:http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz
注意问题:安装的centos系统必选选择英文版本,不然里面有些地方为莫名出错
Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目,并且是顶级项目。目前最新的发布版本是 2.6.0。就 Ambari 的作用来说,就是创建、管理、监视 Hadoop 的集群,但是这里的 Hadoop 是广义,指的是 Hadoop 整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等), 而并不仅是特指 Hadoop。用一句话来说,Ambari 就是为了让 Hadoop 以及相关的大数据软件更容易使用的一个工具。
Ambari 现在所支持的平台组件也越来越多,例如流行的 Spark,Storm 等计算框架,以及资源调度平台 YARN 等,我们都能轻松地通过 Ambari 来进行部署。
Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过 Ambari Server 通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。
HDP是hortonworks的软件栈,里面包含了hadoop生态系统的所有软件项目,比如HBase,Zookeeper,Hive,Pig等等。
HDP-UTILS是工具类库。
二、系统环境配置
由于本次安装没有对每次操作进行截图,所有涉及到的截图均来自网上,如果图片和文字描述对照不上,请参照文字描述过程,图片仅供参照。
1、安装 Centos7 系统
ambari 平台大都基于 linux 操作系统,由于网上基于 centors 系统的安装教程较多,所以本文基于 centos7 系统来搭建 ambari 平台。这里需要注意的是,如果自己准备的服务器内存足够大的话, 强烈建议不要选择 centos 最小化版本安装,因为最小化版本中很多配置都没有,安装之后需要先进行网络配置,否则无法通过网关,在寻找 repo 源时会导致无法找到 repo 源的错误。
我们采用全新的服务器用来搭建分布式的 hadoop 集群,通过 VMware esxi6 虚拟化服务器,将其分成5台虚拟机(smaster, bigdata1, bigdata2,bigdata3,master),其中 smaster作为集群的主节点,其余作为数据节点,搭建分布式系统。这里需要注意的是,虚拟化服务器后,将服务器配置成静态 IP 地址访问。
注:以下截图大部分来自网络,按照自身情况做改正,比如虚拟机名称、虚拟机ip地址。
2、安装 jdk 环境(所有机器)
一般 linux 自带的 jdk 或者是通过 yum 安装的 jdk 都是 openjdk1.7 版本的,可能缺乏部分功能,本文最初直接配置 linux 自带的 jdk1.7 版本,在后面的启动 ambari 服务时出现错误,所以最好自己安装 oracle jdk1.8 版本的 java 环境。配置过程如下:
(1)卸载 openjdk
rpm -qa|grep java
输出的是 java-1.7.0 的版本,应该是 java-1.7.0-openjdk 和 java-1.7.0-openjdkheadless,然后输入
rpm -e --nodeps java-1.7.0-openjdk-headless
rpm -e --nodeps java-1.8.0-openjdk
卸载掉系统自带的 jdk 环境。
(2)下载 oracle jdk 版本,并安装。
下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-
downloads-2133151.html
选择 jdk 版本 jdk-8u191-linux-x64.rpm,然后上传服务器,
安装: rpm -ivh jdk-8u191-linux-x64.rpm
安装结果如下:
输入 java -version 和 javac 指令查看环境是否配置好,这里需要注意,记住 java 安装路径,默认的安装路径在/usr/java/jdk1.8.0_191-amd64/,如果采用其他方式安装,也请记住 java 安装路径,在进行 ambari-server setup 时需要输入 java 安装路径。
3、修改/etc/hosts 文件(所有机器)
这里主要是为了实现可以通过名称来查找的相应的服务器。
修改/etc/hostname文件(所有机器)
改为相应的主机名:smaster, bigdata1, bigdata2,bigdata3,master。
4、修改/etc/sysconfig/network(所有机器)
修改文件打开限制(所有机器)
5、关闭防火墙和 selinux
关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
关闭 selinux
sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config
setenforce 0
需要注意:输入命令行可能并不一定马上关闭 selinx,重启系统才可以生效。
6、同步时钟
(1)安装 ntp 服务(所有机器)
yum -y install ntp
(2)主节点安装 httpd
yum -y install httpd
service httpd restart
chkconfig httpd on
7、 SSH 无密码登陆(主节点)
配置 master 节点无密码登录到其他节点,在 master 节点上操作。
生成密钥并免密认证
ssh-keygen
然后三次回车即可
主节点smaster机器上执行以下命令
ssh-copy-id smaster
ssh-copy-id bigdata1
ssh-copy-id bigdata2
ssh-copy-id bigdata3
ssh-copy-id master
将创建的秘钥拷贝出来,因为后面 ambari 安装的时候需要上传这个秘钥。创建秘钥是在
隐藏文件夹/root/.ssh/下面的,所以需要先把秘钥拷贝到可见区域,然后拷贝到电脑上。
8、其他系统设置(所有机器)
三、修改 yum 源,实现离线安装
1、将安装包放到/var/www/html/ambari 目录下(主服务器)
将下载好的四个文件 Ambari 2.6.1、 HDP-2.6.4.0、 HDP-UTILS-1.1.0.22、 HDP-GPL-2.6.4.0 的安装包上传到服务器上,把下载的文件都解压到/var/www/html/ambari 目录下,
操作如下:
mkdir /var/www/html/ambari/
tar -zxvf ambari-2.6.1.0-centos7.tar.gz /var/www/html/ambari/
tar -zxvf HDP-GPL-2.6.4.0-centos7-rpm.tar.gz /var/www/html/ambari/
tar -zxvf HDP-2.6.4.0-centos7-rpm.tar.gz /var/www/html/ambari/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz /var/www/html/ambari/
最终目录结构如下:
现在可以通过访问http://IP地址/ambari/查看是否能成功访问(IP地址为文件所在虚拟机IP地址)
***httpd.service一定要start
systemctl status httpd.service (查看运行状态)
systemctl start httpd.service (运行http服务)
2、修改文件里面的源地址(图中IP地址为你master虚拟机IP地址)
修改/var/www/html/ambari/ambari/centos7/2.6.1.0-143/ambari.repo 源文件
然后将其拷贝到/etc/yum.repos.d/目录下。
修改/var/www/html/ambari/HDP/centos7/2.6.4.0-91/hdp.repo 源文件
然后将其拷贝到/etc/yum.repos.d/目录下。
修改/var/www/html/ambari/HDP-GPL/centos7/2.6.4.0-91/hdp.gpl.repo 源文件
然后将其拷贝到/etc/yum.repos.d/目录下。
以上及创建好主机上的文件,然后通过下面的命令清除一下 yum 的缓存就可以了。 (确保/etc/yum.repos.d文件夹下只有这三个文件,一些Centos7等等开头的文件要删除,不然在离线情况下 yum makecache命令会报错。)
3、将创建好的文件拷贝到子节点
将/etc/yum.repos.d/目录下的 ambari.repo、 hdp.repo、 hdp.gpl.repo 源文件分别复制到 bigdata1、bigdata2、bigdata3、master 服务器上。
(确保每台机器/etc/yum.repos.d文件夹下只有这三个文件,一些Centos7等等开头的文件要删除,否则后面安装会出错。)
四、安装ambari-server
安装 ambari-server 有两种模式,一种是默认 postgresql 数据库的安装方式,这种不推
荐生产环境使用,还有一种方式是使用第三方数据库的安装方式(mysql)。建议不要使
用自带的 postgresql 来配置数据库,本文尝试用自带的 postgresql,在后面的安装过程
中出现错误,改成以 mysql 数据库安装才成功。
2、离线安装Mysql5.6教程请查看博客另一篇文章
离线安装Mysq5.6
3、安装ambari-server
[root@master yum.repos.d]# yum -y install ambari-server
(11)登陆数据库执行以下sql
CREATE DATABASE ambari;
use ambari;
CREATE USER ‘ambari’@’%’ IDENTIFIED BY ‘ambarikd123’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@’%’;
CREATE USER ‘ambari’@‘localhost’ IDENTIFIED BY ‘ambarikd123’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@‘localhost’;
CREATE USER ‘ambari’@‘master’ IDENTIFIED BY ‘ambarikd123’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@‘master’;
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’;
CREATE DATABASE hive;
use hive;
CREATE USER ‘hive’@’%’ IDENTIFIED BY ‘hive’;
GRANT ALL PRIVILEGES ON . TO ‘hive’@’%’;
CREATE USER ‘hive’@‘localhost’ IDENTIFIED BY ‘hive’;
GRANT ALL PRIVILEGES ON . TO ‘hive’@‘localhost’;
CREATE USER ‘hive’@‘master’ IDENTIFIED BY ‘hive’;
GRANT ALL PRIVILEGES ON . TO ‘hive’@‘master’;
FLUSH PRIVILEGES;
CREATE DATABASE oozie;
use oozie;
CREATE USER ‘oozie’@’%’ IDENTIFIED BY ‘oozie’;
GRANT ALL PRIVILEGES ON . TO ‘oozie’@’%’;
CREATE USER ‘oozie’@‘localhost’ IDENTIFIED BY ‘oozie’;
GRANT ALL PRIVILEGES ON . TO ‘oozie’@‘localhost’;
CREATE USER ‘oozie’@‘master’ IDENTIFIED BY ‘oozie’;
GRANT ALL PRIVILEGES ON . TO ‘oozie’@‘master’;
FLUSH PRIVILEGES;
Enter choice (3): 3
(7)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。如果想重命名,就输入。
Hostname (localhost):
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):ambarikd123
Re-Enter password: ambarikd123
(8)将Ambari数据库脚本导入到数据库
WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)?
[root@master ~]# ambari-server start
启动成功的话会有成功提示。
五、安装配置部署 HDP 集群
1、登录
登入界面,默认管理员账户登录,账号: admin 密码: admin
2、安装向导
(1)配置集群的名字为 hadoop
(2)选择版本并修改为本地源地址
HDP-2.6 :http://IP地址/ambari/HDP/centos7/2.6.4.0-91/
HDP-2.6-GPL:http://IP地址/ambari/HDP-GPL/centos7/2.6.4.0-91/
HDP-UTILS-1.1.0.22:http://IP地址 /ambari/HDP-UTILS/centos7/1.1.0.22/
(3)安装配置
选择要安装的服务器和上传上面教程所拷贝出来的秘钥文件 id_rsa
(4)安装 ambari 的 agent,同时检查系统问题
假如失败
查看所有机器ambari-agent是否安装成功
rpm -e | grep ambari-agent
假如未成功需要手动安装。
yum -y install ambari-agent
其他设置项(所有机器):
执行下列命令
sed -i ‘s/verify=platform_default/verify=disable/’ /etc/python/cert-verification.cfg
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
确认:/etc/ambari-agent/conf/ambari-agent.ini(所有机器)
[server]
hostname=smaster(smaster为安装ambari-server节点的主机名,可用smaster主机的ip地址替代)
[security] 下添加此行:
force_https_protocol=PROTOCOL_TLSv1_2
确保以上没有问题点击页面重试按钮。
如果这里还是有出了问题,点击status下面的warning或者failed将出现错误日志,可根据日志自行百度。假如错误无法解决建议检查上面所有的步骤有没有遗漏和未设置的参数。同时在重新修改了配置以后,最好是重ambari-server 来重新进行安装 。
(5)选择要安装的服务
此处强烈建议先安装几个简单的组件,以防由于个别组件配置信息不对,导致系统无法安装,其他的组件可以在系统安装完成后再继续添加,排除错误干扰。
(6)选择分配服务
(7)选择分配 Slave 和 client
(8)配置服务
hive 修改
1,填写 hive 的密码
2,选择 mysql
3,上传 mysql-jdbc 包并运行设置命令
密码输入创建 hive 时设置的密码
Database URL:jdbc:mysql://masterIP地址/hive
Ambari Metrics 配置
密码都设置为 admin 即可
SmartSense 修改
设置为 admin 即可
(9)查看和确认预配置
(10)安装组件
假如安装Message是warning或者failed,请点击warning或者failed查看错误信息,自行百度解决错误后重试此步骤。
文档下方有本次安装过程中遇到的错误,可参考,用到的安装包在都在安装包文件夹里。
(11)安装完成
安装过程中错误解决方案查看另一篇博客。
https://blog.csdn.net/HelloMy_World/article/details/88037832