0110-如何给Kerberos环境下的CDH集群添加Gateway节点

简介: Fayson的github: https://github.com/fayson/cdhproject 推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f,或者扫描文末二维码。

1.文档编写目的

Gateway节点又称为客户端节点,通常用作访问Hadoop集群的接口机。它主要会部署一些客户端的配置,脚本命令,比如HDFS的core-site.xml,hdfs-site.xml以及hadoop的操作命令。

如果你使用的是Apache Hadoop,你只需要将hadoop相关服务的配置和脚本命令拷贝到客户端机器即可,但一旦集群的配置有所修改,你需要注意也同步到客户端机器。如果是CDH集群,客户端节点也会是Cloudera Manager管理的一台机器,它会被安装cloudera-scm-agent服务,以及CDH的Parcel,部署客户端配置Cloudera Manager会统一做,另外如果客户端机器出现异常,Cloudera Manager也会告警。

增加一台Gateway节点,与安装CDH非常类似,你必须要注意一定要做好客户端机器的前置条件准备,参考《CDH安装前置准备》,否则会增加失败。前面Fayson介绍过在非Kerberos环境下部署Gateway节点,参考《如何给CDH集群增加Gateway节点》。本文则主要是介绍如何在Kerberos环境下给CDH集群增加Gateway节点。

内容概述
1.创建Gateway节点的主机模板
2.Gateway节点的前置准备
3.增加Gateway节点到集群并应用主机模板
4.GateWay节点命令测试

测试环境
1.CDH5.13
2.采用root用户操作
3.CentOS6.5

前置条件
1.CDH5.13集群运行正常
2.Gateway节点已准备,并准备好前置

2.创建Gateway节点的主机模板

1.从Cloudera Manager进入“主机模板”页面
在这里插入图片描述
2.点击“创建”
在这里插入图片描述

3.给模板命名,点击各个服务勾选相应的GateWay角色
在这里插入图片描述

4.点击“创建”,确认创建成功.
在这里插入图片描述

3.Gateway节点的前置准备

前置准备请参考Fayson之前的文章《CDH安装前置准备》,主要包括以下步骤:
1.确保OS的yum源可以正常使用,通过yum repolist命令可以查看到匹配的OS的所有包
2.确保Cloudera Manager的yum源运行正常
3.hosts文件配置,需要将Gateway节点的IP和hostname加入到CDH集群节点的hosts文件中,并同步到所有机器包括Gateway节点
4.禁用SELinux
5.关闭防火墙
6.设置swap为10
7.关闭透明大页面
8.配置时钟同步
请务必确保以上操作都已完成,并成功配置,否则接下来的增加节点操作会失败!

4.安装Kerberos客户端

由于集群启用了Kerberos服务,所以需要在Gateway节点安装Kerberos客户端。
1.在Gateway节点上执行如下命令

[ec2-user@ip-172-31-31-212opt]$ sudo yum -y install krb5-libskrb5-workstation

安装成功后查看安装的RPM包

[ec2-user@ip-172-31-31-212opt]$ rpm -qa |grep krb
krb5-workstation-1.15.1-8.el7.x86_64
krb5-libs-1.15.1-8.el7.x86_64
krb5-devel-1.15.1-8.el7.x86_64
[ec2-user@ip-172-31-31-212 opt]$ 

在这里插入图片描述

2.将CM集群中的krb5.conf文件拷贝至该Gateway节点

[ec2-user@ip-172-31-22-86 ~]$ scp -i fayson.pem.txt /etc/krb5.conf ip-172-31-31-212:/home/ec2-user/

在这里插入图片描述

3.在Gateway节点将krb5.conf文件拷贝至/etc目录下

[ec2-user@ip-172-31-31-212 ~]$ sudo cp krb5.conf /etc/
[ec2-user@ip-172-31-31-212 ~]$ sudo chown root. /etc/krb5.conf
[ec2-user@ip-172-31-31-212 ~]$ ll /etc/krb5.conf
-rw-r--r-- 1 root root 837 Dec  9 00:28 /etc/krb5.conf
[ec2-user@ip-172-31-31-212 ~]$ 

在这里插入图片描述
4.在GateWay节点测试Kerberos客户端是否部署成功

[ec2-user@ip-172-31-31-212 ~]$ kinit -kt fayson.keytab fayson
[ec2-user@ip-172-31-31-212 ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: fayson@CLOUDERA.COM

Valid starting       Expires              Service principal
12/09/2017 00:31:53  12/10/2017 00:31:53  krbtgt/CLOUDERA.COM@CLOUDERA.COM
        renew until 12/16/2017 00:31:53
[ec2-user@ip-172-31-31-212 ~]$

在这里插入图片描述
有如上图所示则表示Kerberos客户端安装成功。

5.增加Gateway节点的集群并应用主机模板

1.进入“所有主机”页面
在这里插入图片描述
2.点击“向群集添加主机”
在这里插入图片描述
3.选择“经典向导”
在这里插入图片描述
4.继续
在这里插入图片描述
5.输入Gateway节点的IP或者hostname,点击搜索
在这里插入图片描述
在这里插入图片描述
6.点击“继续”,选择“自定义存储库”,并输入Cloudera Manager的yum源http地址
在这里插入图片描述
7.点击“继续”,勾选Java的两个选项
在这里插入图片描述
8.点击“继续”,输入Gateway节点的ec2-user密码
在这里插入图片描述
9.点击“继续”,等待cloudera-scm-agent在Gateway节点上安装
在这里插入图片描述
安装完成点击“继续”
在这里插入图片描述
10.点击“继续”,等待分发Parcel包并激活
在这里插入图片描述
完成后,点击“继续”
在这里插入图片描述
11.点击“继续”,进行主机检查
在这里插入图片描述
12.完成主机检查,点击“继续”,选择主机模板
在这里插入图片描述
13.点击“继续”,启动主机上的角色
在这里插入图片描述
等待执行成功
在这里插入图片描述
14.点击“继续”,部署客户端配置
在这里插入图片描述
15.点击完成,查看主机列表GateWay节点的角色信息
在这里插入图片描述
至此,给Kerberos环境下CDH集群增加新的Gateway节点完成。

6.Gateway节点测试

1.HDFS命令测试

[ec2-user@ip-172-31-31-212 ~]$ hadoop fs -ls /

在这里插入图片描述
2.HBase命令测试

[ec2-user@ip-172-31-31-212 ~]$ hbase shell

在这里插入图片描述
3.Hive命令测试

[ec2-user@ip-172-31-31-212 ~]$ hive

在这里插入图片描述
4.hadoop命令向集群提交作业

[ec2-user@ip-172-31-31-212 ~]$ hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5

在这里插入图片描述

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

相关文章
|
负载均衡 Java 应用服务中间件
基于 nginx 部署 gateway 集群环境|学习笔记
快速学习基于 nginx 部署 gateway 集群环境
845 0
|
负载均衡 Java API
Spring Cloud Gateway整合Nacos实现服务路由及集群负载均衡
我们都知道Spring Cloud Gateway是一个基于Spring Boot、Spring WebFlux、Project Reactor构建的高性能网关,旨在提供简单、高效的API路由。
Spring Cloud Gateway整合Nacos实现服务路由及集群负载均衡
|
存储 弹性计算 负载均衡
使用阿里云 ECI 弹性部署 Fizz Gateway 节点
本文描述了如何使用阿里云的ECI快速配置弹性伸缩
464 0
|
存储 索引
elasticsearch(es) 集群恢复触发配置(Local Gateway参数)
elasticsearch(es) 集群恢复触发配置(Local Gateway) 当你集群重启时,几个配置项影响你的分片恢复的表现。 首先,我们需要明白如果什么也没配置将会发生什么。 想象一下假设你有 10 个节点,每个节点只保存一个分片,这个分片是一个主分片或者是一个副本分片,或者说有一个有 5 个主分片/1 个副本分片的索引。
1748 0
|
SQL 分布式计算 Hadoop
搭建Gateway向E-MapReduce集群提交作业
搭建Gateway向E-MapReduce集群提交作业
2484 0
|
2月前
|
算法 NoSQL API
SpringCloud&Gateway网关限流
SpringCloud&Gateway网关限流
148 7
|
2月前
|
缓存
SpringCloud Gateway 网关的请求体body的读取和修改
SpringCloud Gateway 框架中,为了处理请求体body,实现多次读取与修改,创建了一个名为`RequestParamGlobalFilter`的全局过滤器。这个过滤器使用`@Component`和`@Slf4j`注解,实现了`GlobalFilter`和`Ordered`接口,设置最高优先级以首先读取body。它通过缓存请求体并创建装饰过的`ServerHttpRequest`来实现body的动态获取。
372 4
|
2月前
|
负载均衡 Nacos 数据安全/隐私保护
SpringCloud GateWay 使用
SpringCloud GateWay 使用
42 0
|
20天前
|
Java API 开发者
Spring Cloud Gateway中的GlobalFilter:构建强大的API网关过滤器
Spring Cloud Gateway中的GlobalFilter:构建强大的API网关过滤器
26 0
|
21天前
|
监控 Java API
Spring Cloud 之 GateWay
Spring Cloud Gateway 作为API网关,处理客户端与微服务间的非业务逻辑,如权限验证、监控、路由转发。它通过Route(含ID、目标URI、Predicate和Filter)、Predicate(匹配请求条件)和Filter(请求前/后处理)实现动态路由。工作流程包括客户端请求->Gateway Handler Mapping->过滤器链->服务转发->响应过滤->回客户端。过滤器用于请求拦截、响应处理,如参数校验、权限检查。动态路由允许以服务名创建路由,实现服务发现。预设和全局过滤器用于特定或所有路由的定制逻辑,例如登录验证和请求头管理。