0845-7.1.6-集群外配置Kerberos环境的Gateway节点

2021-07-05 15:24:56 浏览数 (1)

作者:冯庆煜

1.文档编写目的

在使用CDH/CDP集群过程中会遇到在集群外的节点使用Hadoop命令访问集群(如:HDFS、HBASE、HIVE、SPARK、YARN)等命令操作,这时又不想将该节点添加到CDH/CDP集群中管理,本篇文章主要介绍如何在集群外节点不通过CM部署一个Gateway节点。

  • 测试环境

1.Cloudera Enterprise 7.3.1和Cloudera Runtime 7.1.6

2.RedHat 7.6

3.kerberos版本 1.15.1-34.el_7

4.OpenLADP 2.4.44-20.el_7

1.1.前置条件

集群运行正常且Kerberos已安装且正常使用

IP地址

HostName

操作系统

192.168.0.76

cdh1.macro.com

redhat 7.6

192.168.0.75

cdh2.macro.com

redhat 7.6

192.168.0.74

cdh3.macro.com

redhat 7.6

192.168.0.191(集群外)

hadoop11.macro.com

redhat 7.6

hadoop11.macro.com节点并未添加到CM中

2.部署Gateway节点

2.1改host

将集群的hosts文件同步至该Gateway节点(hadoop11.macro.com)

代码语言:javascript复制
scp /etc/hosts 192.168.0.191:/etc/hosts

2.2Java和CDH和FLINK

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

代码语言:javascript复制
scp -r /usr/java/jdk1.8.0_232-cloudera/ hadoop11.macro.com:/usr/java/jdk1.8.0_232-cloudera/

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

代码语言:javascript复制
tar -czvf cdh.tar.gz CDH-7.1.6-1.cdh7.1.6.p0.10506313/ CDH/
scp cdh.tar.gz hadoop11.macro.com:/opt/

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

代码语言:javascript复制
mkdir -p /opt/cloudera/
tar -zxvf cdh.tar.gz -C /opt/cloudera/parcels
ll /opt/cloudera/parcels/

同样方法复制FLINK文件夹

2.3配置文件

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

代码语言:javascript复制
mkdir -p /etc/spark/conf
mkdir -p /etc/hadoop/conf
mkdir -p /etc/hbase/conf
mkdir -p /etc/hive/conf
mkdir -p /etc/flink/conf

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

代码语言:javascript复制
scp -r /etc/hadoop/conf/* hadoop11.macro.com:/etc/hadoop/conf
scp -r /etc/spark/conf/* hadoop11.macro.com:/etc/spark/conf
scp -r /etc/hbase/conf/* hadoop11.macro.com:/etc/hbase/conf
scp -r /etc/hive/conf/* hadoop11.macro.com:/etc/hive/conf
scp -r /etc/flink/conf/* hadoop11.macro.com:/etc/flink/conf

Spark配置文件:

HBase配置文件:

Hive配置文件:

Hadoop配置文件:

Flink配置文件:

配置(hadoop11.macro.com)节点的环境变量

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

代码语言:javascript复制
export JAVA_HOME=/usr/java/jdk1.8.0_232-cloudera
export CDH_HOME=/opt/cloudera/parcels/CDH
export FLINK_HOME=/opt/cloudera/parcels/FLINK
export PATH=$FLINK_HOME/bin:$CDH_HOME/bin:$PATH

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

3.kerberos客户端

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

代码语言:javascript复制
yum -y install krb5-libs krb5-workstation

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

代码语言:javascript复制
scp /etc/krb5.conf hadoop11.macro.com:/etc/

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

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

4.gateway客户端命令验证

执行hadoop命令测试

代码语言:javascript复制
hadoop fs -ls /

hadoop命令执行成功。

向集群提交一个MR作业

代码语言:javascript复制
hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 2 5

作业执行成功。

使用yarn命令查看

代码语言:javascript复制
yarn application --list

Yarn命令执行成功。

使用hbase shell访问Hbase

代码语言:javascript复制
hbase shell

使用beeline访问Hive

代码语言:javascript复制
beeline

使用Spark

代码语言:javascript复制
spark-shell
代码语言:javascript复制
spark-submit
代码语言:javascript复制
spark-submit --class org.apache.spark.examples.SparkPi /opt/cloudera/parcels/CDH-7.1.6-1.cdh7.1.6.p0.10506313/jars/spark-examples_2.11-2.4.0.7.1.6.0-297.jar 10

使用Flink

0 人点赞