一、ambari架构解析

二、基础环境配置

以两台节点为例来组件Hadoop分布式集群,这里采用的系统版本为Centos7 1511,如下表所示:

主机名

内存

硬盘

IP地址

角色

master

8192MB

100G

192.168.200.6

Ambari-Server

Ambari-Agent

slaver

8192MB

100G

192.168.200.7

Ambari-Agent

搭建所需各软件版本信息

①ambari-2.7.1.0-centos7.tar.gz

②jdk-8u151-linux-x64.tar.gz

③HDP-3.0.1.0-centos7-rpm.tar.gz

④HDP-UTILS-1.1.0.22-centos7.tar

⑤CentOS-7-x86_64-DVD-1511.iso

1.在iaas平台创建两台云主机

  1. 主机名、主机名解析配置

vi /etc/hosts

  1. 挂载镜像并配置本地yum源

首先将所需镜像、安装包等,通过secureFX上传至master 的/opt目录

Master节点

3.1进入/opt目录,解压ambari.tar.gz压缩包

[root@master ~]# cd /opt

[root@master opt]# ls

ambari-2.7.1.0-centos7.tar.gz  HDP-3.0.1.0-centos7-rpm.tar.gz

centos                         HDP-UTILS-1.1.0.22-centos7.tar

[root@master opt]# tar -zxvf ambari-2.7.1.0-centos7.tar.gz

解压完成后获得一个ambari的文件夹

[root@master ~]# ls

CentOS-7-x86_64-DVD-1511.iso

[root@master ~]# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/

[root@master ~]# mkdir /opt/centos

[root@master ~]# cp -rvf /mnt/* /opt/centos/

[root@master ~]# cd /etc/yum.repos.d/

[root@master yum.repos.d]# ls

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo

CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Vault.repo

[root@master yum.repos.d]# rm -rf *

[root@master yum.repos.d]# vi local.repo

[centos]

name=centos

baseurl=file:///opt/centos

gpgcheck=0

enable=1

[ambari]

name=ambari

baseurl=file:///opt/ambari/centos7/2.7.1.0-169/

gpgcheck=0

enable=1

保存退出

清理源,并列出源

[root@master ~]# yum clean all

Loaded plugins: fastestmirror

Cleaning repos: ambari centos

Cleaning up everything

Cleaning up list of fastest mirrors

[root@master ~]# yum list

[root@master ~]# yum install vsftpd

[root@master ~]# vi /etc/vsftpd/vsftpd.conf

添加

anon_root=/opt/

3.2配置开机启动vsftpd

[root@master ~]# systemctl enable vsftpd

[root@master ~]# systemctl start vsftpd

Slaver节点

[root@slaver ~]# cd /etc/yum.repos.d/

[root@slaver yum.repos.d]# ls

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo

CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Vault.repo

[root@slaver yum.repos.d]# rm -rf *

[root@slaver yum.repos.d]# vi ftp.repo

[centos]

name=centos

baseurl=ftp://192.168.200.6/centos

gpgcheck=0

enable=1

[ambari]

name=ambari

baseurl=ftp://192.168.200.6/ambari/centos7/2.7.1.0-169/

gpgcheck=0

enable=1

保存退出

  1. 配置NTP服务

Master节点

[root@master ~]# yum -y install ntp

[root@master ~]# vi /etc/ntp.conf

4.1将原有server注释

添加

server 127.127.1.0

fudge 127.127.1.0 stratum 10

[root@master ~]# systemctl enable ntpd

[root@master ~]# systemctl start  ntpd

Slaver节点

[root@slaver ~]# yum -y install ntpdate

[root@slaver ~]# ntpdate master

[root@slaver ~]# systemctl enable ntpdate

  1. 配置SSH 免密访问

Master节点

[root@master ~]# yum install openssh-clients

[root@master ~]# ssh-keygen

[root@master ~]# ssh-copy-id slaver.hadoop

Slaver节点

[root@slaver ~]# yum install openssh-clients

[root@slaver ~]# ssh-keygen

[root@slaver ~]# ssh-copy-id master.hadoop

  1. 禁用Transparent Huge Pages

操作系统后台有一个叫做khugepaged的进程,它会一直扫描所有进程占用的内存,在可能的情况下会把4kpage交换为Huge Pages,在这个过程中,对于操作的内存的各种分配活动都需要各种内存锁,直接影响程序的内存访问性能,并且,这个过程对于应用是透明的,在应用层面不可控制,对于专门为4k page优化的程序来说,可能会造成随机的性能下降现象。

master & slaver

[root@master ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

[root@master ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag

[root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

always advise [never]

重启后失效,需要再次执行

  1. 安装配置jdk

Master节点

[root@master ~]# mkdir /usr/jdk64/

[root@master ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/jdk64/
[root@master ~]# vi /etc/profile

7.1添加以下两条变量

export JAVA_HOME=/usr/jdk64/jdk1.8.0_151

export PATH=$JAVA_HOME/bin:$PATH

[root@master ~]# source /etc/profile

[root@master ~]# java -version

java version "1.8.0_151"

Java(TM) SE Runtime Environment (build 1.8.0_151-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

Slaver节点

[root@slaver ~]# mkdir /usr/jdk64/

[root@slaver ~]# scp 192.168.200.6://root/jdk-8u151-linux-x64.tar.gz .

jdk-8u151-linux-x64.tar.gz                    100%  181MB  90.5MB/s   00:02

[root@slaver ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/jdk64/

[root@slaver ~]#  vi /etc/profile

export JAVA_HOME=/usr/jdk64/jdk1.8.0_151

export PATH=$JAVA_HOME/bin:$PATH

[root@slaver ~]# source /etc/profile

[root@slaver ~]# java -version

java version "1.8.0_151"

Java(TM) SE Runtime Environment (build 1.8.0_151-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

  1. 安装httpd服务

8.1安装httpd

[root@master ~]# yum -y install httpd

[root@master ~]# systemctl enable httpd.service

[root@master ~]#  systemctl start httpd.service

[root@master ~]#  systemctl status httpd.service

8.2解压HDP

将/opt目录下的

HDP-3.0.1.0-centos7-rpm.tar.gz

HDP-UTILS-1.1.0.22-centos7.tar

解压,并复制到 /var/www/html

[root@master opt]# tar -zvxf HDP-3.0.1.0-centos7-rpm.tar.gz -C /var/www/html/

[root@master opt]# tar -zvxf HDP-UTILS-1.1.0.22-centos7.tar -C /var/www/html/

三、ambari-server 安装配置

Master节点

[root@master ~]# yum -y install  ambari-server

1.安装MariaDB数据库

[root@master ~]# yum install  mariadb mariadb-server mysql-connector-java

1.1启动数据库服务

[root@master ~]# systemctl enable mariadb

[root@master ~]# systemctl start mariadb

1.2配置数据库服务

[root@master ~]# mysql_secure_installation

Set root password? [Y/n] y  (设置密码为bigdata)

Remove anonymous users? [Y/n] y

Disallow root login remotely? [Y/n] n

Remove test database and access to it? [Y/n] y

Reload privilege tables now? [Y/n] y

[root@master ~]# mysql -uroot -pbigdata

MariaDB [(none)]> create database ambari;

MariaDB [(none)]> grant all privileges on ambari.* to 'ambari'@'localhost' identified by 'bigdata';

MariaDB [(none)]> grant all privileges on ambari.* to 'ambari'@'%' identified by 'bigdata';

MariaDB [(none)]> use ambari;

MariaDB [ambari]> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

MariaDB [ambari]> quit

  1. 配置ambari-server

[root@master ~]# vi /etc/profile

添加

export buildNumber=2.7.1.0

[root@master ~]# ambari-server setup

Using python  /usr/bin/python

Setup ambari-server

Checking SELinux...

SELinux status is 'disabled'

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

Adjusting ambari-server permissions and ownership...

Checking firewall status...

Checking JDK...

[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8

[2] Custom JDK

==============================================================================

Enter choice (1): 2

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/jdk64/jdk1.8.0_151

Validating JDK on Ambari Server...done.

Check JDK version for Ambari Server...

JDK version found: 8

Minimum JDK version is 8 for Ambari. Skipping to setup different JDK for Ambari Server.

Checking GPL software agreement...

GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html

Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? n

Completing setup...

Configuring database...

Enter advanced database configuration [y/n] (n)? y

Configuring database...

==============================================================================

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

Port (3306):

Database name (ambari):

Username (ambari):

Enter Database Password (bigdata):

Configuring ambari database...

Should ambari use existing default jdbc /usr/share/java/mysql-connector-java.jar [y/n] (y)?

Configuring remote database connection properties...

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

Extracting system views...

ambari-admin-2.7.1.0.169.jar

....

Ambari repo file doesn't contain latest json url, skipping repoinfos modification

Adjusting ambari-server permissions and ownership...

Ambari Server 'setup' completed successfully.

[root@master ~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

  1. 启动ambari-server服务

[root@master ~]# ambari-server start

DB configs consistency check: no errors and warnings were found.

Ambari Server 'start' completed successfully.

四、ambari-agent 安装配置

 

master & slaver

1.安装ambari-agent

[root@master ~]# yum -y install ambari-agent

[root@slaver ~]# yum -y install ambari-agent

  1. 修改变量

[root@master ~]# vi /etc/ambari-agent/conf/ambari-agent.ini

[root@slaver ~]# vi /etc/ambari-agent/conf/ambari-agent.ini

将[server]项修改为master.hadoop

hostname=master.hadoop

3.重启ambari-agent服务

[root@master ~]# ambari-agent restart

[root@slaver ~]# ambari-agent restart

五、部署Hadoop集群

1.访问WEB界面

打开浏览器输入IP:8080访问ambari的web界面

本机为http://192.168.200.6:8080

默认用户名 admin

默认密码   admin

  1. 创建新的集群

3.1命名集群

3.2选择本地仓库源

选择redhat 7

http://192.168.200.6/HDP/centos7/3.0.1.0-187/

http://192.168.200.6/HDP-UTILS/centos7/1.1.0.22/

3.3配置主机名

3.4主机状态注册检查

3.5服务安装选择

这里我们选择了

YARN + MapReduce2

HDFS

ZooKeeper

Ambari Metrics

Spark2

3.6服务分配大师

默认即可。

3.7节点服务选择

设置Grafana密码

默认下一步即可

确认部署

开始部署

利用先电云iaas平台搭建apache官方大数据平台(ambari2.7+hdp3.0)的更多相关文章

  1. 大数据平台迁移实践 | Apache DolphinScheduler 在当贝大数据环境中的应用

    大家下午好,我是来自当贝网络科技大数据平台的基础开发工程师 王昱翔,感谢社区的邀请来参与这次分享,关于 Apache DolphinScheduler 在当贝网络科技大数据环境中的应用. 本次演讲主要 ...

  2. 知名大厂如何搭建大数据平台&架构

    今天我们来看一下淘宝.美团和滴滴的大数据平台,一方面进一步学习大厂大数据平台的架构,另一方面也学习大厂的工程师如何画架构图.通过大厂的这些架构图,你就会发现,不但这些知名大厂的大数据平台设计方案大同小 ...

  3. HDP 企业级大数据平台

    一 前言 阅读本文前需要掌握的知识: Linux基本原理和命令 Hadoop生态系统(包括HDFS,Spark的原理和安装命令) 由于Hadoop生态系统组件众多,导致大数据平台多节点的部署,监控极其 ...

  4. hadoop大数据平台安全基础知识入门

    概述 以 Hortonworks Data Platform (HDP) 平台为例 ,hadoop大数据平台的安全机制包括以下两个方面: 身份认证 即核实一个使用者的真实身份,一个使用者来使用大数据引 ...

  5. FusionInsight,一个融合的大数据平台

    随着物联网技术和应用的普及,以运营商.互联网以及实体经济行业为代表的企业产生了越来越多的数据,大数据的发展越来越蓬勃. 从2007年开始,大数据应用成为很多企业的需求,2012年兴起并产生了大数据平台 ...

  6. 【转】使用Apache Kylin搭建企业级开源大数据分析平台

    http://www.thebigdata.cn/JieJueFangAn/30143.html 本篇文章整理自史少锋4月23日在『1024大数据技术峰会』上的分享实录:使用Apache Kylin搭 ...

  7. 【定义及安装】Ambari——大数据平台的搭建利器

    Ambari 是什么 Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目,并且是顶级项目.目前最新的发布版本是 2.0.1,未来不 ...

  8. 【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-下

    因篇幅过长,故分为两节,上节主要说明hadoop运行环境和必须的基础软件,包括VMware虚拟机软件的说明安装.Xmanager5管理软件以及CentOS操作系统的安装和基本网络配置.具体请参看: [ ...

  9. Ambari——大数据平台的搭建利器之进阶篇

    前言 本文适合已经初步了解 Ambari 的读者.对 Ambari 的基础知识,以及 Ambari 的安装步骤还不清楚的读者,可以先阅读基础篇文章<Ambari——大数据平台的搭建利器>. ...

随机推荐

  1. python numpy.array插入一行或一列

    numpy.array插入一行或一列 import numpy as np a = np.array([[1,2,3],[4,5,6],[7,8,9]]) b = np.array([[0,0,0]] ...

  2. C# 通过浏览器打开指定url

    using System.Diagnostics; var resultsg = Process.Start(@"C:\Users\Administrator\AppData\Local\S ...

  3. mysql数据表结构查询

    select * from ( select '表名', '字段名', '字段类型', '默认值', '是否可空', '注释', '主键' UNION ( SELECT a.TABLE_NAME '表 ...

  4. 题解 [JOI 2019 Final] 独特的城市

    题面 解析 首先有一个结论, 对一个点\(x\)有贡献的城市 肯定在它到离它较远的直径的端点的链上. 假设离它较远的端点是\(S\), 如果有一个点\(u\)不在\(x\)到\(S\)的链上, 却对\ ...

  5. java中VO的使用(组成复杂的实体类)

    https://blog.csdn.net/G0_hw/article/details/78326359

  6. word文档如何选择全部图片粘贴

    很多时候我们用一些管理系统的时候,发布新闻.公告等文字类信息时,希望能很快的将word里面的内容直接粘贴到富文本编辑器里面,然后发布出来.减少排版复杂的工作量. 下面是借用百度doc 来快速实现这个w ...

  7. CSP-S模拟测试 88 题解

    T1 queue: 考场写出dp柿子后觉得很斜率优化,然后因为理解错了题觉得斜率优化完全不可做,只打了暴力. 实际上他是可以乱序的,所以直接sort,正确性比较显然,贪心可证,然后就是个sb斜率优化d ...

  8. vmware 安装 VMwareTools

    mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom cd /mnt/cdrom cp VMwareTools-x.x.x-yyyy.tar.gz ~/ cd ~ ...

  9. springboot 出现 org.hibernate.LazyInitializationException: could not initialize proxy

    org.hibernate.LazyInitializationException: could not initialize proxy [com.example.shop.dataobject.U ...

  10. AOP 底层实现原理

    1.核心业务接口与实现 public interface IManager { void add(String item); } public class IManagerImpl implement ...