Ambari 2.6离线搭建教程

一、下载安装包
  因为使用在线安装特别慢,所有的安装包加起来有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;

4、建立 mysql 与 ambari-server 的连接
网上下载 mysql-connector-java-5.1.40.jar 并上传到服务器放到 root 文件下
在这里插入图片描述
执行:ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
5、初始化设置 ambari-server 并启动
下面为初始化启动过程
注:1、JAVA_HOME需要输入,事先找到,一般在/usr/java/jdk开头的文件夹
2、需要输入ambari数据库密码和确认密码,要和上面设置的数据库密码一致ambarikd123(密码随意替换,只要上下一致即可)
[root@master ~]# ambari-server setup
下面是配置执行流程,按照提示操作
(1) 提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y
(2)ambari-server 账号。
Enter user account for ambari-server daemon (root):
如果直接回车就是默认选择root用户
如果输入已经创建的用户就会显示:
Enter user account for ambari-server daemon (root):ambari
Adjusting ambari-server permissions and ownership…
(3)检查防火墙是否关闭
Adjusting ambari-server permissions and ownership…
Checking firewall…
WARNING: iptables is running. Confirm the necessary Ambari ports are accessible. Refer to the Ambari documentation for more details on ports.
OK to continue [y/n] (y)?
直接回车
(4)设置JDK。输入:3
Checking JDK…
Do you want to change Oracle JDK [y/n] (n)? y
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK

Enter choice (1): 3
如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/usr/java/jdk1.8.0_161
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: /usr/java/jdk1.8.0_131
Validating JDK on Ambari Server…done.
Completing setup…
(5)数据库配置。选择:y
Configuring database…
Enter advanced database configuration [y/n] (n)? y
(6)选择数据库类型。输入:3
Configuring database…

Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere

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

猜你喜欢

转载自blog.csdn.net/HelloMy_World/article/details/88037635
今日推荐