温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


Fayson的github:

​https://github.com/fayson/cdhproject​


提示:代码块部分可以左右滑动查看噢


1.文档编写目的




在前面的文章Fayson介绍了《​​如何在CDH集群外配置非Kerberos环境的Gateway节点​​》,本篇文章主要介绍如何在CDH集群外配置Kerberos环境的Gateway节点。


  • 内容概述

1.部署环境说明

2.部署Gateway节点及测试

3.总结


  • 测试环境

1.CM和CDH版本为5.14.2

2.操作系统为RedHat7.3

3.操作用户root


  • 前置条件

1.Gateway节点与集群网络正常


2.环境说明




集群外节点:

IP地址

HostName

操作系统

172.27.0.5

cdh05.fayson.com

RedHat7.3

 

集群环境:

IP地址

HostName

操作系统

172.27.0.4

cdh01.fayson.com

RedHat7.3

172.27.0.11

cdh02.fayson.com

RedHat7.3

172.27.0.7

cdh03.fayson.com

RedHat7.3

172.27.0.3

cdh04.fayson.com

RedHat7.3


cdh05.fayson.com节点并未添加到CM中:

如何在CDH集群外配置Kerberos环境的Gateway节点_cloudera


3.部署Gateway节点




1.将集群的hosts文件同步至该Gateway节点(cdh05.fayson.com)


[root@cdh01 ~]# scp /etc/hosts cdh05.fayson.com:/etc/

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_cloudera_02


2.集群启用了Kerberos,所以需要在(cdh05.fayosn.com)节点安装Kerberos客户端,执行如下命令


[root@cdh05 ~]# yum -y install krb5-libs krb5-workstation

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_hive_03


将集群KDC服务器上的/etc/krb5.conf文件拷贝至(cdh05.fayson.com)节点的/etc目录下


[root@cdh01 ~]# scp /etc/krb5.conf cdh05.fayson.com:/etc/

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_cloudera_04


在(cdh05.fayson.com)节点上查看文件是否已拷贝成功


如何在CDH集群外配置Kerberos环境的Gateway节点_hive_05


测试Kerberos客户端是否正常使用


[root@cdh05 ~]# kinit fayson
[root@cdh05 ~]# klist

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_hadoop_06


3.登录集群任意节点,将集群的Java目录拷贝至(cdh05.fayson.com)节点的/usr/java目录下


[root@cdh01 conf]# scp -r /usr/java/jdk1.8.0_131/ cdh05.fayson.com:/usr/java/

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_cloudera_07


4.登录CDH集群的任意节点,将/opt/cloudera/parcels目录压缩并拷贝至(cdh05.fayson.com)节点


[root@cdh01 parcels]# tar -czvf cdh.tar.gz CDH-5.14.2-1.cdh5.14.2.p0.3/ CDH/
[root@cdh01 ~]# scp -r /opt/cloudera cdh05.fayson.com:/opt/

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_cloudera_08


5.登录(cdh05.fayson.com)节点的服务器上,创建/opt/cloudera/parcels目录,并将cdh.tar.gz解压至该目录下


[root@cdh05 ~]# mkdir -p /opt/cloudera/
[root@cdh05 ~]# tar -zxvf cdh.tar.gz -C /opt/cloudera/parcels
[root@cdh05 ~]# ll /opt/cloudera/parcels/

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_hive_09


6.在(cdh05.fayson.com)节点上执行如下命令创建服务配置文件存放目录


[root@cdh05 ~]# mkdir -p /etc/spark/conf
[root@cdh05 ~]# mkdir -p /etc/hadoop/conf
[root@cdh05 ~]# mkdir -p /et/hbase/conf
[root@cdh05 ~]# mkdir -p /etc/hive/conf

(可左右滑动)


登录CDH集群拥有spark、hadoop、hbase、hive等Gateway节点上将/etc/*/conf目录下的配置文件拷贝至(cdh05.fayson.com)节点相应目录下


scp -r /etc/hadoop/conf/* cdh05.fayson.com:/etc/hadoop/conf
scp -r /etc/spark/conf/* cdh05.fayson.com:/etc/spark/conf
scp -r /etc/hbase/conf/* cdh05.fayson.com:/etc/hbase/conf
scp -r /etc/hive/conf/* cdh05.fayson.com:/etc/hive/conf

(可左右滑动)


Spark配置文件:


如何在CDH集群外配置Kerberos环境的Gateway节点_hive_10


HBase配置文件:


如何在CDH集群外配置Kerberos环境的Gateway节点_hive_11


Hive配置文件:


如何在CDH集群外配置Kerberos环境的Gateway节点_cloudera_12


Hadoop配置文件:


如何在CDH集群外配置Kerberos环境的Gateway节点_hive_13


7.配置(cdh05.fayson.com)节点的环境变量

修改/etc/profile配置文件,在文件的末尾增加如下配置:


export JAVA_HOME=/usr/java/jdk1.8.0_131
export CDH_HOME=/opt/cloudera/parcels/CDH
export PATH=$CDH_HOME/bin:$PATH

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_cloudera_14


修改后执行如下命令是环境变量生效:


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

(可左右滑动)


4.Gateway客户端命令验证




1.使用Kerberos账号进行kinit操作


[root@cdh05 ~]# kinit fayson 
[root@cdh05 ~]# klist

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_cloudera_15


2.执行hadoop命令测试


[root@cdh05 ~]# hadoop fs -ls /

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_hive_16


hadoop命令执行成功。


3.向集群提交一个MR作业


[root@cdh05 ~]# hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5 

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_hadoop_17


作业执行成功。


4.使用yarn命令查看


[root@cdh05 ~]# yarn application --list

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_hive_18


Yarn命令执行成功。


5.使用hbase shell访问HBase


[root@cdh05 ~]# hbase shell

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_hadoop_19


6.使用hive和beeline访问Hive


[root@cdh05 ~]# hive

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_hive_20


Beeline访问:


[root@cdh05 ~]# beeline 
beeline> !connect jdbc:hive2://cdh01.fayson.com:10000/;principal=hive/cdh01.fayson.com@FAYSON.COM

(可左右滑动)


如何在CDH集群外配置Kerberos环境的Gateway节点_hadoop_21

如何在CDH集群外配置Kerberos环境的Gateway节点_hadoop_22


5.总结




1.在集群外节点配置Gateway节点时,如果是Kerberos集群则需要为该节点安装Kerberos客户,并将krb5.conf文件拷贝至该节点的/etc目录下


2.配置Gateway节点时需要将各服务的客户端配置文件拷贝至Gateway节点的对应目录下,默认为/etc/{servicename}/conf目录,否则无法访问的CDH集群。


3.配置Gateway节点是需要将集群的/usr/java目录下的JDK拷贝至Gateway节点的对应目录下,如果使用自己的JDK版本需要注意Kerberos环境下要为JDK安装JCE,否则访问集群会报错。


4.配置Gateway环境变量时使用的/opt/cloudera/parcels/CDH/bin目录下的服务命令,使用其他目录下的可能会报错。


5.impala-shell的客户端配置Fayson暂时未配通,由于涉及到python的依赖导致impala-shell访问Kerberos环境的CDH集群时报“Could not start SASL: Error in sasl_client_start (-4) SASL(-4)”。



提示:代码块部分可以左右滑动查看噢


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

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。



推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

如何在CDH集群外配置Kerberos环境的Gateway节点_cloudera_23

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操