欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程

程序员文章站 2022-04-14 10:17:12
本文以图文并茂的方式,旨在说明如何在自己的虚拟机上搭建hadoop集群环境,由于环境不同仅供大家参考! 一、机器环境详细说明: 虚拟机:VirtualBox5.1.28 linux系统:...

本文以图文并茂的方式,旨在说明如何在自己的虚拟机上搭建hadoop集群环境,由于环境不同仅供大家参考!

一、机器环境详细说明:
虚拟机:VirtualBox5.1.28
linux系统:centos6.9
jdk:Java HotSpot(TM) 64-Bit 1.8.0_152
数据库:MySQL5.1
ambari:ambari2.5.0.3
hdp:hdp2.5.3
节点数:4个,关闭所有机器的防火墙,设置好时钟同步
集群方式:完全分布式

机器IP 机器名 角色 备注
192.168.65.111 master ambari-server 主服务器
192.168.65.112 slave1 ambari-agent 从服务器
192.168.65.113 slave2 ambari-agent 从服务器
192.168.65.114 slave3 ambari-agent 从服务器

二、配置集群间机器名
为了方便集群间的访问,我们按上表为每个机器配置好他们的机器名。

通过 /etc/sysconfig/network 配置文件修改其机器名。
通过 /etc/hosts 配置文件来设置其FQDN(Fully Qualified Domain Name)全限定域名。

主服务器192.168.65.111设置为主机名为master,全限定域名为master.hadoop。
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
按相同设置来分别配置其他三个节点,对应表如下:

机器IP 机器名 全限定域名
192.168.65.111 master master.hadoop
192.168.65.112 slave1 slave1.hadoop
192.168.65.113 slave2 slave2.hadoop
192.168.65.114 slave3 slave3.hadoop

三、配置集群间ssh互通
由于hadoop集群间存在任务计划分发、心跳监测以及任务管理、多租户管理等等通信,为了通信安全选择采用ssh方式,为了方便通信我们将ssh配置成无密码免登陆方式。具体操作请参考我的另一篇博文:Linux主机ssh使用秘钥方式实现免登陆互通配置

四、通过yum安装ambari-server
ambari-server安装在主服务器192.168.65.111上。

1、配置ambari-server的yum源,使用wget命令下载ambari的yum源。

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

操作完毕后,在/etc/yum.repos.d目录下会多一个ambari.repo文件。
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
通过yum repolist命令验证yum源配置是否成功:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程

2、通过yum命令安装ambari-server

使用 yum install ambari-server 命令来安装ambari-server,然后输入 y 确认安装。如下图:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
安装完成后返回 complete!
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程

3、启动ambari-server并配置其参数
通过yum命令安装完ambari-server组件后,我们要先通过ambari-server setup命令完成它的初始化和参数配置。
1)、如果你的SELinux未关闭,则会有警告信息,选择 y 即可。

Setup ambari-server
Checking SELinux…
SELinux status is ‘enabled’
SELinux mode is ‘enforcing’
Temporarily disabling SELinux
WARNING: SELinux is set to ‘permissive’ mode and temporarily disabled.
OK to continue [y/n] (y)? y

2)、如果默认使用root用户来运行ambari则选择 n,否则选择 y 并输入之前创建好的用户。这里我们选择 n。

Customize user account for ambari-server daemon [y/n] (n)? n

3)、下面选择JDK环境,这里我们选择 3。
然后输入系统配置好的JDK环境/usr/java/jdk1.8.0_152。

Adjusting ambari-server permissions and ownership…
Checking firewall status…
Checking JDK…
[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
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_152
Validating JDK on Ambari Server…done.

4)这里我们选择自定义指定ambari的数据库,故选择 y。

Completing setup…
Configuring database…
Enter advanced database configuration [y/n] (n)? y

5)、这里我们输入3,选择MySQL。然后设置其数据库和用户信息:

Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
Enter choice (1): 3
Hostname (localhost): localhost
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari
Enter Database Password (bigdata):

整个过程截图如下:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
至此ambari的初始化相关参数设置完毕。

4、配置mysql中ambari用户环境。

创建ambari数据库和ambari用户:
CREATE DATABASE ambari CHARCTER SET utf8 ;
CREATE USER ‘ambari’@’%’ IDENTIFIED BY ‘bigdata’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@’%’;
GRANT ALL PRIVILEGES ON . TO ‘ambari’@’localhost’;
执行ambari提供的SQL脚本,初始化ambari库。注意切换到ambari用户和数据库中
mysql -uambari -pbigdata;
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

5、启动ambari-server并验证访问ambari,经过以上配置完成安装。

启动ambari:ambari-server start
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
访问ambari验证其是否启动:http://192.168.65.111:8080/
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程

五、ambari安装hdp的hadoop集群
输入admin/admin登陆ambari,选择Launch Install Wizard开始安装hdp。
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
1、配置集群名称,选择hdp版本,指定集群节点

设置集群名字:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
选择版本2.5.3,由于我们使用的是centos6.9系统,故下面的repositories中只保留redhat6:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
设置集群节点全限定域名:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
进入验证节点信息:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
各个节点验证通过,ambari-agent安装完毕:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
2、安装HDFS、MapReduce、Zookeeper组件
进入安装hadoop组件的环节,这里我们先安装HDFS、MapReduce2和Yarn。其中ambari会要求我们安装zookeeper和ambariMetrics和SmartSense。
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
分配组件到集群中各节点,我们按默认分配即可:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
分配从服务器和客户端节点:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程vc=" src="http://www.2cto.com/uploadfile/Collfiles/20180416/20180416091645568.png" />
服务参数设置,按默认即可:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
参数设置完毕下一步后,进入部署确认页面:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
我们点击deploy按钮,进入部署阶段:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
正常的话需要40分钟左右的时间即可完成,时间长短取决于安装的组件多少和机器的性能及网络状况。当然中间还会出现安装失败的情况,那么恭喜你中奖了,这时需要retry来重新安装:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
我是在这里中大奖了,前后重新retry不下10次,具体几次都记不清了,心理万马奔腾啊。但经过不懈努力终于走上了正轨:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
安装完成后,会自动启动和测试安装的组件:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
经过不断的努力尝试,终于安装成功,点击下一步,查看摘要说明:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程
结果写的正常用时24分钟,可实际却是折腾了一天的时间,你说我容易嘛~!

3、查看刚刚创建的名为hdp_haoop的hadoop集群情况

终于完美展现:
基于ambari2.5.0.3+hdp2.5.3的hadoop集群环境搭建图文教程

以上步骤,就是基于ambari+hdp搭建hadoop集群环境的完整过程,只要大家细心操作,耐心等待肯定没有问题。切记在操作前,确保环境正确,尤其是以下几点:

ssh免密码登陆配置
关闭防火墙和SELinux
在MySQL数据库中创建ambari用户和数据库并执行ambari提供的数据库脚本
开启htp时钟同步