随着大数据的日益普及,很多人对大数据越来越感兴趣,有些程序开发者也跃跃欲试,但是苦于不会搭建hadoop集群环境,而常常被拦在大数据的门槛之外。本文以图文并茂的方式,旨在说明如何在自己的虚拟机上搭建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个,关闭所有机器的防火墙,设置好时钟同步

集群方式:完全分布式

ambari hadoop 安装路径 ambari搭建hadoop_数据库

hadoop集群机器环境说明

二、配置集群间机器名

为了方便集群间的访问,我们按上表为每个机器配置好各个机器名称,具体设置如下:

通过 /etc/sysconfig/network 配置文件修改其机器名。

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

主服务器192.168.65.111设置为主机名为master,全限定域名为master.hadoop。

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_02

集群中主服务器的设置

ambari hadoop 安装路径 ambari搭建hadoop_ambari hadoop 安装路径_03

集群中主服务器的设置

按相同设置来分别配置其他三个机器节点,对应表如下:

ambari hadoop 安装路径 ambari搭建hadoop_数据库_04

集群中其他三台机器的配置

三、配置集群间ssh互通

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

四、通过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文件。

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_05

使用yum命令安装ambari

通过yum repolist命令验证yum源配置是否成功:

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_06

通过yum命令检验yum源

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

使用 yum install ambari-server 命令来安装ambari-server,然后输入 y 确认安装。如下图:

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_07

安装ambari-server

安装完成后返回 complete!

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_08

安装ambari-server

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):

整个过程截图如下:

ambari hadoop 安装路径 ambari搭建hadoop_java_09

ambari参数初始化

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_10

ambari参数初始化

至此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

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_11

启动ambari-server

访问ambari验证其是否启动:http://192.168.65.111:8080/。

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_12

ambari登陆界面

五、ambari安装hdp的hadoop集群

输入admin/admin登陆ambari,选择Launch Install Wizard开始安装hdp。

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_13

ambari安装hdp

1、配置集群名称,选择hdp版本,指定集群节点,设置集群名字。

ambari hadoop 安装路径 ambari搭建hadoop_linux_14

配置hadoop集群名称

选择版本2.5.3,由于我们使用的是centos6.9系统,故下面的repositories中只保留redhat6:

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_15

选择hadoop集群版本

设置集群节点全限定域名:

ambari hadoop 安装路径 ambari搭建hadoop_数据库_16

设定hadoop集群全限定名

进入验证节点信息:

ambari hadoop 安装路径 ambari搭建hadoop_linux_17

验证集群集群配置情况

各个节点验证通过,ambari-agent安装完毕:

ambari hadoop 安装路径 ambari搭建hadoop_数据库_18

ambari-agent安装成功

2、安装HDFS、MapReduce、Zookeeper组件

进入安装hadoop组件的环节,这里我们先安装HDFS、MapReduce2和Yarn。其中ambari会要求我们安装zookeeper和ambariMetrics和SmartSense。

ambari hadoop 安装路径 ambari搭建hadoop_数据库_19

安装hadoop相关组件

分配组件到集群中各节点,我们按默认分配即可:

ambari hadoop 安装路径 ambari搭建hadoop_ambari hadoop 安装路径_20

安装hadoop相关组件

分配从服务器和客户端节点:

ambari hadoop 安装路径 ambari搭建hadoop_ambari hadoop 安装路径_21

安装hadoop相关组件

服务参数设置,按默认即可:

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_22

配置相关组件参数

参数设置完毕下一步后,进入部署确认页面:

ambari hadoop 安装路径 ambari搭建hadoop_linux_23

确认集群组件安装情况

我们点击deploy按钮,进入部署阶段:

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_24

hadoop集群安装界面

正常的话需要40分钟左右的时间即可完成,时间长短取决于安装的组件多少和机器的性能及网络状况。当然中间还会出现安装失败的情况,那么恭喜你中奖了,这时需要retry来重新安装:

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_25

hadoop集群安装过程

我是在这里中大奖了,前后重新retry不下10次,具体几次都记不清了,心理万马奔腾啊。但经过不懈努力终于走上了正轨:

ambari hadoop 安装路径 ambari搭建hadoop_ambari hadoop 安装路径_26

hadoop集群安装过程

安装完成后,会自动启动和测试安装的组件:

ambari hadoop 安装路径 ambari搭建hadoop_hadoop_27

hadoop集群安装成功界面

经过不断的努力尝试,终于安装成功,点击下一步,查看摘要说明:

ambari hadoop 安装路径 ambari搭建hadoop_java_28

hadoop集群安装成功界面

结果写的正常用时24分钟,可实际却是折腾了一天的时间,你说我容易嘛~!

3、查看刚刚创建的名为hdp_haoop的hadoop集群情况,集群环境完美呈现:

ambari hadoop 安装路径 ambari搭建hadoop_linux_29

hadoop集群环境成功安装

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

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