前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0888-7.1.6-如何在集群外安装多集群Gateway支持

0888-7.1.6-如何在集群外安装多集群Gateway支持

作者头像
Fayson
发布2022-08-26 17:50:29
8560
发布2022-08-26 17:50:29
举报
文章被收录于专栏:Hadoop实操Hadoop实操

1.文档编写目的

在使用CDH/CDP集群过程中会遇到在集群外的节点使用Hadoop命令访问集群(如:HDFS、HBASE、HIVE、SPARK、YARN)等命令操作。但是有特殊需求:

1.不想将这个节点加入到CDH/CDP集群中管理,只用于实现CDH/CDP集群的访问。

2.支持多个不同版本的C6/CDP集群之间切换

3.支持多个用户同时访问不同集群,且环境变量互不影响

本篇文章主要介绍满足以上条件的一个客户端节点安装。

  • 测试环境

1.集群1是CM版本6.3.4、CDH版本6.3.4

2.集群2 是Cloudera Enterprise 7.3.1和Cloudera Runtime 7.1.6

3.系统均为RedHat 7.6

4.集群已启用 Kerberos

5.OpenLADP 2.4.44-23.el7_9

前置条件,两个已安装且正常使用的集群

2.Gateway节点配置

2.1.修改/etc/hosts配置文件

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

2.2关闭防火墙

代码语言:javascript
复制
1systemctl status firewalld
2systemctl stop firewalld
3systemctl disable firewalld

2.3Java和CDH和CDP

1.将每个集群的Java目录复制到(hadoop11.macro.com)节点的/usr/java/目录下。(如果版本相同就不用重复拷贝了)

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

2.将/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/tar -czvf cdh.tar.gz CDH-6.3.4-1.cdh6.3.4.p0.6626826/ CDH/scp cdh.tar.gz hadoop11.macro.com:/opt/

3.解压到相同目录下

代码语言:javascript
复制
tar -zxvf cdh.tar.gz

2.4拷贝配置文件

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

代码语言:javascript
复制
[root@hadoop11 ~]# mkdir -p cdh6/etc/[root@hadoop11 ~]# mkdir -p cdp/etc/

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

代码语言:javascript
复制
scp -r /etc/hadoop/conf/* 192.168.0.191:/root/cdh6/etc/hadoopscp -r /etc/spark/conf/* 192.168.0.191:/root/cdh6/etc/sparkscp -r /etc/hbase/conf/* 192.168.0.191:/root/cdh6/etc/hbasescp -r /etc/hive/conf/* 192.168.0.191:/root/cdh6/etc/hive

cdp同理。

3.拷贝到Gateway节点的配置需要修改core-site.xml配置文件中的内容,修改配置防止spark访问hive保错,具体修改内容如下:

代码语言:javascript
复制
vim /root/cdh6/etc/hadoop/core-site.xmlvim /root/cdh6/etc/hive/core-site.xmlvim /root/cdp/etc/hadoop/core-site.xmlvim /root/cdp/etc/hive/core-site.xml

每个集群下的hadoop、hive配置文件的core-site.xml这个参数都要修改成正确路径。

3.安装kerberos客户端

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

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

2.将所有集群KDC服务器上的/etc/krb5.conf文件拷贝到(hadoop11.macro.com)节点的/root/conf/cdh6/目录下,对应集群名称 

代码语言:javascript
复制
scp /etc/krb5.conf 192.168.0.191:/root/cdh6/etcscp /etc/krb5.conf 192.168.0.191:/root/cdp/etc

最终目录如下

4.编写环境切换脚本

代码语言:javascript
复制
#!/bin/bash#set -exBIN_DIR=$(dirname $BASH_SOURCE)BIN_DIR=`cd "$BIN_DIR"; pwd`# javaexport JAVA_HOME=/usr/java/jdk1.8.0_232-cloudera# cdhexport CDH_HOME=/opt/cloudera/parcels/CDH-6.3.4-1.cdh6.3.4.p0.6626826export PATH=$CDH_HOME/bin:$PATH# hadoopexport HADOOP_HOME=${CDH_HOME}/lib/hadoopexport HADOOP_CONF_DIR=${BIN_DIR}/etc/hadoop# hiveexport HIVE_HOME=${CDH_HOME}/lib/hiveexport HIVE_CONF_DIR=${BIN_DIR}/etc/hive# hbaseexport HBASE_HOME=${CDH_HOME}/lib/hbaseexport HBASE_CONF_DIR=${BIN_DIR}/etc/hbase# sparkexport SPARK_HOME=${CDH_HOME}/lib/sparkexport SPARK_CONF_DIR=${BIN_DIR}/etc/spark# kerberosexport KRB5_CONFIG=${BIN_DIR}/etc/krb5.confif [ -n "$KRB5_CONFIG" ];then  export HBASE_OPTS="-Djava.security.krb5.conf=$KRB5_CONFIG $HBASE_OPTS"  export SPARK_SUBMIT_OPTS="-Djava.security.krb5.conf=$KRB5_CONFIG $SPARK_SUBMIT_OPTS"  export HADOOP_CLIENT_OPTS="-Djava.security.krb5.conf=$KRB5_CONFIG $HADOOP_CLIENT_OPTS"fi

修改好对应参数,保存脚本,放在/root/cdh6/cdh6-env.sh

5.验证Gateway

1.执行如下命令切换到集群CDH6

代码语言:javascript
复制
source cdh6-env.sh

测试HDFS,MR作业,均成功

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

YARN和HBASE也可以

代码语言:javascript
复制
yarn application --listhbase shell

beeline

spark-shell

spark-submit

代码语言:javascript
复制
spark-submit --class org.apache.spark.examples.SparkPi /opt/cloudera/parcels/CDH-6.3.4-1.cdh6.3.4.p0.6626826/jars/spark-examples_2.11-2.4.0-cdh6.3.4.jar 10

修改参数,切换集群到cdp

测试HDFS,MR作业,均成功

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

YARN和HBASE也可以

代码语言:javascript
复制
yarn application --listhbase shell

beeline

spark-shell

spark-submit

6.异常处理

1. spark出现无法连接gateway机器,no route to host 192.168.0.191

原因是防火墙没关,关掉即可解决。

2. hive作业运行失败,报错信息为:GSS initiate failed,Clock skew too great(37)

原因是kerberos客户端时间和服务端时间不一致,安装ntp调整系统时间即可。

3. spark作业失败

kerberos用户userkrb登录没有HDFS权限,所以访问不了导致spark无法完成。

解决方法是创建一个kerberos用户hive,登录就解决了。

4. spark作业能运行出结果,但是保存找不到文件

这个文件目录在core-site.xml写死了,把目录修改正确即可。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档