Ambari搭建hadoop集群

Ambari提供了对Hadoop更加方便快捷的管理功能,主要包含:

通过一步一步的安装向导简化了集群供应。

预先配置好关键的运维指标(metrics),可以直接查看Hadoop Core(HDFS和MapReduce)及相关项目(如HBase、Hive和HCatalog)是否健康。

支持作业与任务执行的可视化与分析,能够更好地查看依赖和性能。

通过一个完整的RESTful API把监控信息暴露出来,集成了现有的运维工具。

用户界面非常直观,用户可以轻松有效地查看信息并控制集群。

使用Ambari部署Hadoop集群

配置说明

主机:

node-1 : 192.168.10.11, 配置:2C8G-30G ,yum 镜像源,数据库, java环境

node-2 : 192.168.10.12, 配置:2C8G-30G ,java环境

node-2 : 192.168.10.12, 配置:2C8G-30G , java环境

软件包 Hadoop 软件镜像压缩包,Ambari镜像压缩包,版本2.6

配置本地yum源

1、在node-1上配置hadoop所有组件的yum源。安装httpd:

yum install httpd -y

2、在官方下载镜像文件,此文件大概7G,可以使用p2p工具下载,其中包含两个repo文件和4个压缩包:

wget 

3、将对应的tar包解压到httpd的文件目录:

tar xf ambari-2.6.1.0-centos7.tar.gz
tar xf HDP-2.6.4.0-centos7-rpm.tar.gz
tar xf HDP-GPL-2.6.4.0-centos7-rpm.tar.gz
mkdir HDP-UTILS
tar xf HDP-UTILS-1.1.0.22-centos7.tar.gz -C HDP-UTILS/

4、配置基础源,创建hadoop的repo文件,修改repo文件源路径:

vim /etc/yum.repo.d/ambari.repo
[ambari-2.6.1.0]
name=ambari Version - ambari-2.6.1.0
baseurl=http://192.168.10.11/ambari/centos7/2.6.1.0-143
gpgcheck=1
gpgkey=http://192.168.10.11/ambari/centos7/2.6.1.0-143/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

# HDP源:vim /etc/yum.repo.d/hdp.repo

#VERSION_NUMBER=2.6.4.0-91
[HDP-2.6.4.0]
name=HDP Version - HDP-2.6.4.0
baseurl=http://192.168.10.11/HDP/centos7/2.6.4.0-91
gpgcheck=1
gpgkey=http://192.168.10.11/HDP/centos7/2.6.4.0-91/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://192.168.10.11/HDP-UTILS/
gpgcheck=1
gpgkey=http://192.168.10.11/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

[HDP-GPL-2.6.4.0]
name=HDP-GPL Version - HDP-GPL-2.6.4.0
baseurl=http://192.168.10.11/HDP-GPL/centos7/2.6.4.0-91
gpgcheck=1
gpgkey=http://192.168.10.11/HDP-GPL/centos7/2.6.4.0-91/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

启动httpd。

5、将本地源的repo配置拷贝到其它节点,并创建缓存:

[root@node-1 ~]# scp /etc/yum.repos.d/ambari.repo 192.168.10.12:/etc/yum.repos.d/
[root@node-1 ~]# scp /etc/yum.repos.d/ambari.repo 192.168.10.13:/etc/yum.repos.d/
[root@node-1 ~]# scp /etc/yum.repos.d/hdp.repo 192.168.10.12:/etc/yum.repos.d/
[root@node-1 ~]# scp /etc/yum.repos.d/hdp.repo 192.168.10.13:/etc/yum.repos.d/

在各个节点创建缓存:

# yum clean all
# yum makecache fast

初始化环境

1、各个节点安装java-1.8.0-openjdk:

 yum install java-1.8.0-openjdk -y

2、解析主机名:

 echo "192.168.10.11 node-1" >> /etc/hostsecho "192.168.10.12 node-2" >> /etc/hostsecho "192.168.10.13 node-3" >> /etc/hosts

3、创建主机信任关系,主要是master节点到slave节点:

 [root@node-1 ~]# ssh-keygen -t rsa[root@node-1 ~]# cp id_rsa.pub /root/.ssh/authorized_keys[root@node-1 ~]# scp id_rsa.pub 192.168.10.12:/root/.ssh/authorized_keys[root@node-1 ~]# scp id_rsa.pub 192.168.10.13:/root/.ssh/authorized_keys

4、安装配置数据库:

yum install mariadb-server -y
systemctl start mariadb
mysql_secure_installation 

# 创建数据库:

MariaDB [(none)]> create database ambari default character set utf8;
Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on ambari.* to ambari@localhost identified by 'bigdata';
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> grant all on ambari.* to ambari@'%' identified by 'bigdata';
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> create database hive default character set utf8;
Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on hive.* to hive@localhost identified by 'hive';
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> grant all on hive.* to hive@'%' identified by 'hive';

安装Amabri服务

1、在node-1上安装ambari-server,并启动配置向导:

[root@node-1 ~]# yum install ambari-server -y
[root@node-1 ~]# ambari-server setup 

提示: 如果安装配置用户时,出现如下报错:

ERROR: Unexpected error 'getpwuid(): uid not found: 1001',可以查看ambari.repo文件的权限,修改为默认的root 644权限即可。

2、按照配置向导信息,配置用户,java_home:

 [root@node-1 ~]# ambari-server setup

3、到上面一步时,根据提示上传mysql的 jdbc驱动,并修改配置文件,指定jdbc驱动文件位置:

 cd /usr/share/javatar xf mysql-connector-java-5.1.45.tar.gz mv mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar ./

修改配置文件:

 vim /etc/ambari-server/conf/ambari.properties
server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.45-bin.jar

配置完成后继续,会出现如下提示:

4、出现上述提示时,根据信息导入数据库:

mysql -uroot -p ambari < /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

5、启动服务:

[root@node-1 ~]# ambari-server start

6、服务启动成功后,会监听8080端口,使用浏览器登录,账号密码admin/admin正常登录,则安装完成。

创建集群

使用ambari的web界面可完成对集群的所有管理操作,创建一个实例集群。

1.设置集群名称并配置HDP安装包

步骤1:单击Launch Install Wizard按钮进入新建集群向导

步骤2:

步骤3:

步骤4:

步骤5:

2.配置集群

a.配置主机注册信息

步骤1:

步骤2:

步骤3:

b.注册服务器

c.安装服务

步骤1:

步骤2:

步骤3:

步骤4:

关闭防火墙和SELinux

执行service iptables stop命令关闭防火墙

chkconf ig iptables off来检查防火墙是否关闭

打开/etc/selinux/config 修改SELINUX=disable来禁用SELinux

Ambari-Server的目录结构

配置目录:/etc/ambari-server/conf Ambari的配置文件会全部放在这个目录下

日志目录:/var/log/ambari-server Ambari自身的服务日志会放在这个目录下

Hadoop服务组件目录:/usr/hdp 通过Ambari安装的hadoop组件会放在这个目录下

Ambari服务目录:/usr/lib/ambari-server Ambari自身的服务会安装到这个目录下

Ambari控制台功能简介

1.集群服务管理

a.集群用户

b.集群服务控制与监控

2.集群服务配置

3.辅助工具

a.HDFS文件工具

b.Hive查询工具

c.YARN任务队列管理

d.自助式分析系统

构建企业级平台的安全方案

1.访问控制

a.Knox网关

Knox网关 Knox是一款用于保护Hadoop生态体系安全的代理网关系统,为Hadoop集群提供唯一的代理入口。

Knox网关本质上是一款基于Jetty实现的高性能反向代理服务器,通过内置的过滤器来处理URL请求,支持使用LDAP进行用户身份认证。

b.LDAP

c.验证Knox网关

2.数据授权与管理

a.Ranger

b.安装Ranger

c.Ranger功能介绍

Hadoop服务安全方案

引入Kerberos认证机制。通过集成Kerberos协议,就能够使用Kerberos用户代替服务器本地的Linux用户,从而让大数据平台中的Hadoop相关服务全部使用Kerberos用户通过它的认证中心进行认证,以大幅提高平台的安全性。

1.Kerberos简介

a.核心概念

b.认证流程

2.使用FreeIPA安装Kerberos和LDAP

安装FreeIPA

IPA-Server管理控制台功能

a.用户管理

b.主机管理

c.服务管理

d.密码策略

IPA CLI功能

a.使用远程登录

b.创建用户

c.创建本地登录

d.创建keytab文件

开启Ambari的Kerberos安全选项

1.集成前的准备

a.新建Ambari组

b.安装IPA-Client

c.安装IPA-Admin管理工具

集成IPA

a.开启IPA集成选项

b.确认检查项

c.设置Kerberos信息

d.安装和测试Kerberos客户端

e.确认配置

单点登录与用户管理

1.集成单点登录

集成思路

1).首先需要引入一个单点登录系统CAS

2).将Knox代理网关与CAS集成,这样在访问Knox网关代理的各种Web UI和RESTful服务的时候,所有的服务请求都会被统一的重定向到CAS系统的登录页面进行认证

3).设置Ranger和Ambari的登录策略,让 两个系统委托Knox代理网关的认证服务进行登录验证。当用户访问Ranger或是Ambari的Web管理控制台时,都会被重定向到CAS的登录页面进行认证

a.CASuCAS的认证方式指向IPA附带的LDAP服务,这样用户可以直接使用Kerberos用户进行登录。通过IPA创建一个Kerberos用户的时候,它会自动在LDAP服务中创建一个完全一样的用户,包括用户名和密码。

a.CAS (Central Authentication Service)是一款十分流行的单点登录框架。CAS架构上 CAS Server和CAS Client两个部分,CAS Server是统一的认证服务器,所有未经授权的请求都会重定向到这里进行认证。CAS Client则代表需要通过CAS Server进行认证的应用服务。

安装CAS Server

下载

apereo/cas​github.com

解压到Ambari-Server所在的服务器上。

进入到modules目录下找到一个名为cas-server-webapp-4.0.0.war的文件,这就是CAS-Server程序

接着将cas-server-webapp-4.0.0.war拷贝到Tomcat服务的webapps目录下。

b.配置LDAP认证策略

c.配置Tomcat安全证书

d.启动CAS-Server

其实就是启动Tomcat服务 进入tomcat/bin 执行startup脚本启动服务

./startup

hadoop集群_Ambari搭建hadoop集群相关推荐

  1. 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现...

    『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现 1.基本设定和软件版本 主机名 ip 对应角色 mas ...

  2. 在Hadoop集群上,搭建HBase集群

    (1)下载Hbase包,并解压:这里下载的是0.98.4版本,对应的hadoop-1.2.1集群 (2)覆盖相关的包:在这个版本里,Hbase刚好和Hadoop集群完美配合,不需要进行覆盖. 不过这里 ...

  3. 【Docker x Hadoop】使用 Docker 搭建 Hadoop 集群(从零开始保姆级)

    -- 步骤 -- 0. 背景 1. 创建出第一个容器 2. 为该容器配置 java 和 hadoop 环境 3. 配置允许外界通过 ssh 连接容器 4. 由该容器克隆出多个容器 5. 为各个容器配置 ...

  4. redis 集群环境搭建-redis集群管理

    集群架构 (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. (2)节点的fail是通过集群中超过半数的节点检测失效时才生效. (3)客户端与redi ...

  5. RocketMQ集群之搭建2m2s集群(配置说明)

    搭建2m2s集群 下面通过docker搭建2master+2slave的集群. #创建2个master #nameserver1 docker create -p 9876:9876 --name r ...

  6. python分布式集群ray_搭建Ray集群步骤

    本文介绍如何搭建Ray 0.3集群环境. 可参考官方文档: 安装Ray 首先在每台机器上安装如下组件. 安装Anaconda 首先安装Anaconda,下载:Anaconda2-4.3.0-Linux ...

  7. 零起步的Hadoop实践日记(搭建hadoop和hive)

    2014-3-10 [需求] 接受的工作需要处理海量数据,第一步先用工具做一些运营数据的产出,考虑采用hadoop方便以后跟随数据量变大可以补充机器,而不用动统计逻辑. 当前的hadoop社区非常活跃 ...

  8. 基于OSS存储搭建Hadoop集群

    简介 本文以Ubuntu操作系统为例,介绍基于Aliyun OSS的hadoop-3.0.0-beta1的集群环境搭建过程,示例的集群环境包括1个master和2个slave节点(slave1和sla ...

  9. hadoop搭建_阿里云搭建Hadoop集群

    1 前言 在讲述Hadoop集群搭建之前,首先要了解Hadoop和集群两个名词,Hadoop是由Apache基金会开发的分布式系统基础架构,简单理解就是大数据技术应用的基础.集群可以理解为多台装有ha ...

最新文章

  1. css中底部sticky footer
  2. 快速寻找满足条件的两个数
  3. mysql 1270_MySQL_详细基本操作命令
  4. 代码检查规则:Python语言案例详解
  5. 《linux就该这么学》第七节课:文件的各种权限以及linux分区命名规则
  6. Windbg调优Kafka.Client内存泄露
  7. 斯特林反演[bzoj4671]异或图
  8. python读写磁盘扇区数据_C++-如何直接读取Windows磁盘扇区的数据?
  9. kuboard使用mysql_Kuboard Kubernetes安装
  10. 属性数量限制android,Android开发笔记 今天学到的一些属性
  11. Java ClassNotFoundException – java.lang.ClassNotFoundException
  12. 编译并运行Java文件
  13. 向模块化进军,创建类
  14. iOS Swift 2 2 监听耳机的 插拔的事件
  15. 武汉理工大学计算机专业课程表,武汉理工大学2014年春季第一周课表.xls
  16. linux 爱数备份,爱数安全备份专家
  17. python读取excel中数据绘制柱状图_Python的Excel操作及数据可视化
  18. NOD32升级账号更新器 [ C# | NOD32 | Eset ]
  19. python优雅编程之旅
  20. 开源项目推荐:Bezier曲线、B-Spline和NURBS的区别与《THE NURBS BOOK 2nd》简介,曲线拟合可视化工具

热门文章

  1. python系统问题
  2. python -m参数
  3. Tensorflow中tf.ConfigProto()详解
  4. 合肥工业大学—SQL Server数据库实验四:数据库的分离和附加
  5. GOF23设计模式(结构型模式)代理模式~
  6. 适用于CUDA GPU的Numba 随机数生成
  7. 队列:实用程序服务和数据结构
  8. 激光雷达和毫米波雷达
  9. java equal hashcode_Java(二)equal 和 hashcode使用
  10. HarmonyOS ToastDialog 的使用