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/hosts
echo "192.168.10.12 node-2" >> /etc/hosts
echo "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/java
tar 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/casgithub.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