Ambari
介绍1
Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。

Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeper、Sqoop和Hcatalog等的集中管理。也是5个顶级hadoop管理工具之一。

建议
需对hadoop生态圈的各个组件以及环境配置,参数有一定的知识,才建议使用ambari搭建

对比(CDH)
1、Hortonworks Hadoop区别于其他的Hadoop发行版(如Cloudera)的根本就在于,Hortonworks的产品均是百分之百开源。
2、Cloudera有免费版和企业版,企业版只有试用期。
3、apache hadoop则是原生的hadoop。
4、目前在中国流行的是apache hadoop,Cloudera CDH,当然Hortonworks也有用的5、Apache Ambari是一个基于web的工具,用于配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。

准备
安装前先安装好 Centos 7.2, jdk-8u91, mysql5.7.13

主节点:master(172.26.99.126)

从节点:slave1(172.26.99.127),slave2(172.26.99.128),slave3(172.26.99.129)

注意事项:确保所有节点时间同步;确保所有节点能互相通信以及能访问外网

配置SSH免密码登录
主节点(master)里root用户登录执行如下步骤

ssh-keygen

cd ~/.ssh/

cat id_rsa.pub>> authorized_keys

在从节点登录root执行命令

mkdir ~/.ssh/

分发主节点里配置好的authorized_keys到各从节点

scp/root/.ssh/authorized_keys root@172.26.99.127:~/.ssh/authorized_keys

scp/root/.ssh/authorized_keys root@172.26.99.128:~/.ssh/authorized_keys

scp/root/.ssh/authorized_keys root@172.26.99.129:~/.ssh/authorized_keys

创建ambari系统用户和用户组
只在主节点操作

添加ambari安装、运行用户和用户组,也可以不创建新用户,直接使用root或者系统其他账号

adduser ambari

passwd ambari

开启NTP服务
所有集群上节点都需要操作

Centos 7 命令

yum install ntp

systemctl is-enabled ntpd

systemctl enable ntpd

systemctl start ntpd

检查DNS和NSCD
所有节点都要设置

ambari在安装时需要配置全域名,所以需要检查DNS.

vi /etc/hosts

172.26.99.126 master.chinadci.com master

172.26.99.127 slave1.chinadci.com slave1

172.26.99.128 slave2.chinadci.com slave2

172.26.99.129 slave3.chinadci.com slave3

每台节点里配置FQDN,如下以主节点为例(要注意FQDN的命名规范:hostname+域名)

vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=master.chinadci.com

关闭防火墙
所有节点都要设置

systemctl disable firewalld

systemctl stop firewalld

关闭SELinux
所有节点都要设置

查看SELinux状态:

sestatus

如果SELinuxstatus参数为enabled即为开启状态

SELinux status: enabled

修改配置文件需要重启机器:

vi /etc/sysconfig/selinux

SELINUX=disabled

制作本地源
制作本地源只需在主节点上进行即可

相关准备工作
安装 Apache HTTP 服务器
安装HTTP服务器,允许 http 服务通过防火墙(永久)

yum install httpd

firewall-cmd --add-service=http

firewall-cmd --permanent --add-service=http

添加Apache 服务到系统层使其随系统自动启动

systemctl start httpd.service

systemctl enable httpd.service

安装本地源制作相关工具
yum install yum-utils createrepo

下载安装资源
下载Ambari 2.2.2 , HDP 2.4.2 的安装资源,本次安装是在Centos 7 上,只列出centos7的资源,其他系统的请现在对用系统的资源

Ambari 2.2.2 下载资源

OS

Format

URL

CentOS 7

Base URL

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0

CentOS 7

Repo File

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo

CentOS 7

Tarball md5 asc

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0/ambari-2.2.2.0-centos7.tar.gz

HDP2.4.2 下载资源

OS

Repository Name

Format

URL

CentOS 7

HDP

Base URL

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0

CentOS 7

HDP

Repo File

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/hdp.repo

CentOS 7

HDP

Tarball md5 asc

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/HDP-2.4.2.0-centos7-rpm.tar.gz

CentOS 7

HDP-UTILS

Base URL

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7

CentOS 7

HDP-UTILS

Repo File

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7/HDP-UTILS-1.1.0.20-centos7.tar.gz

下载上面列表的中的压缩包, 
需要下载的压缩包如下:

Ambari 2.2.2

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.0.0/HDP-2.4.0.0-centos7-rpm.tar.gz

HDP 2.4.2

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0/ambari-2.2.2.0-centos7.tar.gz

HDP-UTILS 1.1.0

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7/HDP-UTILS-1.1.0.20-centos7.tar.gz

在httpd网站根目录,默认是即/var/www/html/,创建目录ambari, 
并且将下载的压缩包解压到/var/www/html/ambari目录

cd /var/www/html/

mkdir ambari

cd /var/www/html/ambari/

tar -zxvf ambari-2.2.2.0-centos7.tar.gz

tar -zxvf HDP-2.4.2.0-centos7-rpm.tar.gz

tar -zxvf HDP-UTILS-1.1.0.20-centos7.tar.gz

验证httd网站是否可用,可以使用links 命令或者浏览器直接访问下面的地址:

http://172.26.99.126/ambari/

结果如下:

配置ambari、HDP、HDP-UTILS的本地源
首先下载上面资源列表中的相应repo文件,修改其中的URL为本地的地址,相关配置如下:

wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo

wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/hdp.repo

vi ambari.repo

vi hdp.repo

将上面的修改过的源放到/etc/yum.repos.d/下面

执行以下命令

yum clean all

yum list update

yum makecache

yum repolist

安装Mysql数据库
Ambari安装会将安装等信息写入数据库,建议使用自己安装的Mysql数据库,也可以不安装而使用默认数据库PostgreSQL

Mysql数据库安装过程请参考下面文章:

http://blog.csdn.net/u011192458/article/details/77394703

安装完成后创建ambari数据库及用户,登录root用户执行下面语句:

create database ambari character set utf8 ;

CREATE USER 'ambari'@'%'IDENTIFIED BY 'ambari';

GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';

FLUSH PRIVILEGES;

安装mysqljdbc 驱动

yum install mysql-connector-java

安装JDK
安装解压版JDK,先到官网下载jdk-8u91-linux-x64.tar.gz ,再执行下面命令:

tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt/java/

vi /etc/profile

export JAVA_HOME=/opt/jdk1.8

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

source /etc/profile

安装Ambari
安装Ambari2.2.2
安装Ambari

yum install ambari-server

配置Ambari
ambari-server setup

根据操作选择提示

选择注意:ambari-server服务账号密码都是ambari

JDK路径是自定义路径/var/opt/jdk1.8

数据库配置选择的是自定义安装的Mysql

数据库的账户和密码都是ambari

导入ambari脚本
将Ambari数据库脚本导入到数据库

如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本

用Ambari用户(上面设置的用户)登录mysql

mysql -u ambari -p

use ambari source/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

启动Ambari
执行启动命令,启动Ambari服务

ambari-server start

成功启动后在浏览器输入Ambari地址:

http://172.26.99.126:8080/

出现登录界面,默认管理员账户登录,账户:admin 密码:admin

登录成功后出现下面的界面,至此Ambari的安装成功

Ambari集群配置
机架:
slave1.chinadci.com172.26.99.127 /default-rack

slave2.chinadci.com172.26.99.128 /default-rack

slave3.chinadci.com172.26.99.129 /default-rack

配置:
Hadoop生态圈的各个组件日志默认安装在各个组件的根目录下,方便用于寻找。

利用ambari可以快速的搭建Hadoop集群,安装后各组件的默认安装在各个节点的/usr/hdp/目录下。

Ambari-server服务器的日志目录默认安装在/var/log目录下

Ambari-agent采集器的日志目录默认安装在/var/log目录下

文件备份一般为3个

HDFS默认块大小为128M,则每个文件大小不应小于128。

Yarn默认配置内存8G,即每台节点最少8G、CPU核数8核

参考文献: https://www.cnblogs.com/zhijianliutang/p/5731002.html

Hadoop集群运行的过程是需要将所有的数据分布记录拉入到内存中的,所以这就意味着当整个集群的数据越来越大,我们知道在大数据的环境下,几TB级别或者PB级别的数据是很常见的,这也就意味这个数据分布记录也要增大,所以需要加大内存,这里有一个参考依据:

一般1GB内存可以管理百万个block文件。

举例:bolck为128M,副本为3个,200台集群,4TB数据,需要的Namenode内存为:200(服务器数)x 4194304MB(4TB数据) / (128MB x 3)=2184533.33个文件=2.18百万个文件,所以内存值也就接近于2.2G了。

再次,因为这里有一台机器用来做备份,所以secondarynamenode需要的内存与namenode需要的内存大概一样,然后就是从节点的各台服务器需要的内存量了

首先计算当前CPU的虚拟核数(Vcore):

虚拟核数(Vcore)=CPU个数*单CPU合数*HT(超线程数)

然后根据虚拟核数配置内存容量:

内存容量=虚拟核数(Vcore)*2GB(至少2GB)

关于CPU的选择,因为Hadoop为分布式计算运算,所以其运行模型基本是密集型并行计算,所以推荐的CPU要尽量选择多路多核的,条件允许的话每个节点都要如此。

然后,在一个大型的分布式集群中,还需要注意的是,因为分布式的计算,需要各个节点间进行频繁的通信和IO操作,这也就意味对网络带宽有要求,所以推荐使用千兆以上的网卡,条件允许可以万兆网卡,交换机亦如此。

注意:由于zookeeper等一些组件需要选举leader以及follow,所需节点数最少为3节点以上而且奇数,否则一个节点挂掉,导致集群无法选择leader,整个zookeeper就无法运行。

举例:

集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1;同理你多列举几个:2->0;3->1;4->1;5->2;6->2会发现一个规律,2n和2n-1的容忍度是一样的,都是n-1,所以为了更加高效,何必增加那一个不必要的zookeeper。
————————————————
版权声明:本文为CSDN博主「Mr_Luffy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011192458/article/details/79128457

Ambari安装准备
关于 Ambari 的安装,目前网上能找到两个发行版,一个是 Apache 的 Ambari,另一个是 Hortonworks 的,两者区别不大。这里就以 Apache 的 Ambari 2.1.2 作为示例。本文使用四台 centos 6.8 作为安装环境,三台机器分别为Ambari.domain、NameNode.domain、Hadoop01.domain、Hadoop02.domain。Ambari计划安装为 Ambari 的 Server,NameNode为管理节点,另外两台为 Ambari Agent。
安装 Ambari 最方便的方式就是使用公共的库源(public repository)。[搭建本地库(local repository)见Ambari-server私有yum源搭建及设置]。这个不是本文重点,所以不在此赘述。在进行具体的安装之前,需要做几个准备工作。
SSH 的无密码登录(见配置Ambari-server到agent单向的免密码登陆);
Ambari 的 Server 会 SSH 到 Agent 的机器,拷贝并执行一些命令。因此我们需要配置 Ambari Server 到 Agent 的 SSH 无密码登录。在这个例子里,Ambari可以 SSH 无密码登录另外三台机器。
确保 Yum 可以正常工作;
通过公共库(public repository),安装 Hadoop 这些软件,背后其实就是应用 Yum 在安装公共库里面的 rpm 包。所以这里需要您的机器都能访问 Internet。
确保 home 目录的写权限,Ambari 会创建一些 OS 用户。
确保机器的 Python 版本大于或等于 2.6(系统默认就是 2.6 的)。
以上的准备工作完成后,便可以真正的开始安装 Ambari 了。

Ambari安装过程
首先需要获取 Ambari 的公共库文件(public repository)。登录到 Linux 主机并执行下面的命令(也可以自己手工下载):
wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.2/ambari.repo
将下载的 ambari.repo 文件拷贝到 Linux 的系统目录/etc/yum.repos.d/。拷贝完后,我们需要获取该公共库的所有的源文件列表。依次执行以下命令。
#yum clean all
#yum list|grep ambari

如果可以看到 Ambari 的对应版本的安装包列表,说明公共库已配置成功。然后就可以安装 Ambari 的 package 了。执行下面的命令安装 Ambari Server 到该机器。
#yum install ambari-server
待安装完成后,便需要对 Ambari Server 做一个简单的配置。执行下面的命令。
#amari-server setup
在这个交互式的设置中,采用默认配置即可。Ambari 会使用 Postgres 数据库,默认会安装并使用 Oracle 的 JDK。默认设置了 Ambari GUI 的登录用户为 admin/admin。并且指定 Ambari Server 的运行用户为 root。
简单的 setup 配置完成后。就可以启动 Ambari 了。运行下面的命令。
#ambari-server start
当成功启动 Ambari Server 之后,便可以从浏览器登录,默认的端口为 8080。以本文环境为例,在浏览器的地址栏输入 http://ambari.domain:8080,登录密码为 admin/admin。登入 Ambari 之后的页面如下图。

至此,Ambari Server 就安装完成了。

部署一个 Hadoop2.x 集群
到这一节,我们将可以真正地体验到 Ambari 的用武之地,以及它所能带来的方便之处。
登录 Ambari 之后,点击按钮“Launch Install Wizard”,就可以开始创建属于自己的大数据平台。
首先命名集群的名字。本环境为 BigData。
接下来,选择一个 Stack,这个 Stack 相当于一个 Hadoop 生态圈软件的集合。Stack 的版本越高,里面的软件版本也就越高。这里我们选择 HDP2.3,里面的对应的 Hadoop 版本为 2.7.x。
接下来,指定 Agent 机器(如果配置了域,必须包含完整域名),这些机器会被安装 Hadoop 等软件包。咱们这里选择“Perform manual registration on hosts and do not use SSH“。 三台机器都要手动安装 Ambari Agent。具体参见下图示例。

[root@namenode ~]# yum install -y ambari-agent
[root@namenode ~]# vi /etc/ambari-agent/conf/ambari-agent.ini
修改其中的hostname为Ambari即可
[root@namenode ~]# /etc/init.d/ambari-agent start
[root@NameNode ~]# /etc/init.d/ambari-agent status

Hadoop01、Hadoop02安装方式同上。
客户端手动注册
点击”Register and Confirm”后系统自动开始注册主机和配置主机

Hadoop集群组件选择与安装
一般根据业务选择安装的服务

master服务节点选择
选择各组件master服务安装在哪些节点(注意:服务分为master/salves,多个master不推荐安装在同一个主机上面)

slaves服务节点选择
选择slaves服务的安装节点,节点客户端安装
推荐DataNode、RegionServe、client组件都安装

自定义服务配置
(1)、hdfs目录配置:
注意检查目录空间大小,尽量放置在大的目录下
(2)、hive服务配置与检测

配置结束后Ambari 会总结一个安装列表,供用户审阅。这里没问题,就直接下一步。
Ambari 会开始安装选择的 Service 到 Ambari Agent 的机器(如下图)。这里可能需要等好一会。安装完成之后,Ambari 就会启动这些 Service。

安装完成
安装完成之后,就可以查看 Ambari 的 Dashboard 了。

至此,您专属的 bigdata 集群已经安装完成。
————————————————
版权声明:本文为CSDN博主「陌小铠」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cy309173854/article/details/58039594

基于ambari搭建hadoop生态圈大数据组件的更多相关文章

  1. Hadoop生态圈-大数据生态体系快速入门篇

    Hadoop生态圈-大数据生态体系快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.大数据概念 1>.什么是大数据 大数据(big data):是指无法在一定时间 ...

  2. 基于Ambari构建自己的大数据平台产品

    目前市场上常见的企业级大数据平台型的产品主流的有两个,一个是Cloudera公司推出的CDH,一个是Hortonworks公司推出的一套HDP,其中HDP是以开源的Ambari作为一个管理监控工具,C ...

  3. Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户

        你正在使用过时的浏览器,Amaze UI 暂不支持. 请 升级浏览器 以获得更好的体验! 深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:1 ...

  4. 基于Docker搭建Hadoop+Hive

    为配合生产hadoop使用,在本地搭建测试环境,使用docker环境实现(主要是省事~),拉取阿里云已有hadoop镜像基础上,安装hive组件,参考下面两个专栏文章: 克里斯:基于 Docker 构 ...

  5. 移动基于Percona XTRADB Cluster的大数据解决方式

    移动基于Percona XTRADB Cluster的大数据解决方式          一.移动的去IOE之旅      近期由于"棱镜门"事件的曝光.引起了国家对信息安全问题的注 ...

  6. Hadoop生态圈-Flume的组件之自定义Sink

    Hadoop生态圈-Flume的组件之自定义Sink 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要介绍sink相关的API使用两个小案例,想要了解更多关于API的小技 ...

  7. Hadoop生态圈-Flume的组件之拦截器与选择器

      Hadoop生态圈-Flume的组件之拦截器与选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客只是配置的是Flume主流的Interceptors,想要了解更详细 ...

  8. MaxCompute,基于Serverless的高可用大数据服务

    摘要:2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,阿里巴巴高级技术专家吴永明为大家分享了 ...

  9. 基于Eclipse搭建Hadoop源码环境

    Hadoop使用ant+ivy组织工程,无法直接导入Eclipse中.本文将介绍如何基于Eclipse搭建Hadoop源码环境. 准备工作 本文使用的操作系统为CentOS.需要的软件版本:hadoo ...

随机推荐

  1. 【死磕NIO】— 阻塞IO,非阻塞IO,IO复用,信号驱动IO,异步IO,这你真的分的清楚吗?

    通过上篇文章([死磕NIO]- 阻塞.非阻塞.同步.异步,傻傻分不清楚),我想你应该能够区分了什么是阻塞.非阻塞.异步.非异步了,这篇文章我们来彻底弄清楚什么是阻塞IO,非阻塞IO,IO复用,信号驱动 ...

  2. 安装 webstorm--->vue

    一.先去官网下载webstorm     https://www.jetbrains.com/ 不论是Mac的还是win得都有相应的版本, 二.再去官网下载git     https://git-sc ...

  3. PTA数据结构 习题3.6 一元多项式的乘法与加法运算 (20分)

    一元多项式的乘法与加法运算 https://pintia.cn/problem-sets/434/problems/5865 设计函数分别求两个一元多项式的乘积与和. 时间限制:200 ms 内存限制 ...

  4. 关于keras框架的介绍以及操作使用

    Keras 是一个 Python 深度学习框架,可以方便地定义和训练几乎所有类型的深度学习模型.Keras 最开始是为研究人员开发的,其目的在于快速实验.我们可以进入网站主页 - Keras 中文文档 ...

  5. 使用固件库点亮led灯

    1. 项目 使用STM32F103VE的固件库实现流水灯设计. 2. 代码 由于这是基于野火的视频进行学习的,项目代码在上节基础上进行编写的. 点亮绿灯: main.c #include " ...

  6. 使用寄存器点亮LED——2

    1. 项目:使用stm32寄存器点亮LED, 分别点亮红.绿.蓝3个灯. 2. 步骤 先新建个文件夹保存项目 再新建项目 将startup_stm32f10x_hd.s拷贝到该文件夹下 新建main. ...

  7. 【UE4 设计模式】建造者模式 Builder Pattern

    概述 描述 建造者模式,又称生成器模式.是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 建造者模式将客户端与包含多个组成部分的复杂对象的创建过程分离,客户端无需知道复杂 ...

  8. 【数据结构与算法Python版学习笔记】图——词梯问题 广度优先搜索 BFS

    词梯Word Ladder问题 要求是相邻两个单词之间差异只能是1个字母,如FOOL变SAGE: FOOL >> POOL >> POLL >> POLE > ...

  9. 剑指offer:JZ9 用两个栈实现队列

    JZ9 用两个栈实现队列 描述 用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能. 队列中的元素为int类型.保证操作合法,即保 ...

  10. 通过Nacos动态刷新Spring Cloud Gateway的路由

    通过Nacos动态刷新Spring Cloud Gateway的路由 一.背景 二.解决方案 三.实现功能 四.实现步骤 1.网关服务的实现 1.pom文件 2.bootstrap.yml配置文件 3 ...