0449-如何在Kerberos环境的CDH集群外跨OS版本中在指定目录配置HDFS的Gateway节点

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢

1

文章编写目的

在前面的文章Fayson介绍了《如何在CDH集群外配置非Kerberos环境的Gateway节点》和《如何在CDH集群外配置Kerberos环境的Gateway节点》,本文档在这两篇文档本篇文章基础介绍如何在Kerberos环境的CDH集群外跨OS版本中在指定目录配置HDFS的Gateway节点。

  • 内容概述

1.部署环境说明

2.部署Gateway节点及测试

3.总结

  • 测试环境

1.CM和CDH版本为5.12.1

2.操作系统为RedHat7.2和RedHat6.6

3.操作用户root

  • 前置条件

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

2.集群已启用Kerberos

2

环境说明

集群外节点:

IP地址HostName操作系统
192.168.0.230vm1.macro.comRedHat7.2
192.168.0.187rhel66001.localdomainRedHat6.6

集群环境:

IP地址HostName操作系统
192.168.0.221cdh01.macro.comRedHat7.2
192.168.0.222cdh02.macro.comRedHat7.2
192.168.0.223cdh03.macro.comRedHat7.2
192.168.0.224cdh04.macro.comRedHat7.2

vm1.macro.com和rhel66001.localdomain两个节点并未在CM管理的集群内

3

部署HDFS Gateway

1.时钟同步配置,(vm1.macro.com和rhel66001.localdomain)节点保持跟集群时钟不同,两个Gateway节点操作一致

yum -y install ntp
vim /etc/ntp.conf

验证NTP服务是否已同步

2.将集群的hosts文件同步至要装Gateway节点(vm1.macro.com和rhel66001.localdomain)

[root@cdh4 ~]# scp -rp /etc/hosts 192.168.0.230:/etc/
[root@cdh4 ~]# scp -rp /etc/hosts 192.168.0.187:/etc/

3.集群启用了Kerberos,所以需要在(vm1.macro.com和rhel66001.localdomain)节点安装Kerberos客户端,执行如下命令,两个Gateway节点操作一致

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

4.创建指定的文件目录,并将集群KDC服务器上的/etc/krb5.conf文件拷贝至(vm1.macro.com和rhel66001.localdomain)节点的指定的目录下查看,两个Gateway节点操作一致

5.登录集群任意节点,将集群的Java目录拷贝至(vm1.macro.com和rhel66001.localdomain)节点的指定的目录下(/usr/java/jvm/),两个Gateway节点操作一致

scp -r /usr/java/jdk1.8.0_111/ 192.168.0.230:/usr/java/jvm/

6.登录CDH集群的任意节点,将/opt/cloudera/parcels目录压缩并拷贝至(vm1.macro.com和rhel66001.localdomain)节点的指定目录,两个Gateway节点操作一致

tar -czvf cdh.tar.gz CDH-5.12.1-1.cdh5.12.1.p0.3/ CDH/
scp -rp cdh.tar.gz 192.168.0.230:/etc/cdhgateway/cdh_hadoop/cloudera/parcels

7.登录(vm1.macro.com和rhel66001.localdomain)节点的服务器上,到/etc/cdhgateway/cdh_hadoop/cloudera/parcels目录将cdh.tar.gz解压,两个Gateway节点操作一致

tar -zxvf cdh.tar.gz -C /etc/cdhgateway/cdh_hadoop/cloudera/parcels

8.拷贝HDFS到(vm1.macro.com和rhel66001.localdomain)节点指定目录/etc/cdhgateway/cdh_hadoop/下,两个Gateway节点操作一致

scp -rp /etc/hadoop 192.168.0.230:/etc/cdhgateway/cdh_hadoop/

9.(vm1.macro.com和rhel66001.localdomain)节点,修改hadoop 客户端配置路径,将默认的软链(/etc/hadoop/conf)修改为指定的路径

rm -rf /etc/cdhgateway/cdh_hadoop/cloudera/parcels/CDH/lib/hadoop/
ln -s /etc/cdhgateway/cdh_hadoop/hadoop/conf hadoop

10.(vm1.macro.com和rhel66001.localdomain)节点配置环境变量

[root@vm1 cdh_hadoop]# vim cdh_env 
export KRB5_CONFIG="/etc/cdhgateway/cdh_hadoop/krb5.conf"
export CDH_HOME="/etc/cdhgateway/cdh_hadoop/cloudera/parcels/CDH"
export HADOOP_HOME=$CDH_HOME/lib/hadoop
export HADOOP_CONF_DIR=$CDH_HOME/lib/hadoop/etc/hadoop
export JAVA_HOME="/usr/java/jvm/jdk1.8.0_111"
export PATH=$CDH_HOME/bin:$PATH
export PATH=$JAVA_HOME/bin:$PATH
[root@vm1 cdh_hadoop]# source cdh_env
[root@vm1 cdh_hadoop]# env 

这里配置的是会话级别的环境变量,结束会话后需要重新source cde_env,如果需要永久生效,将该配置写入到/etc/profile,并source /etc/profile 即可。

4

HDFS Gateway命令验证

1.使用Kerberos账号进行kinit操作,并进行hdfs 客户端功能验证

kinit test
klist
hdfs dfs -ls /

可以看到在RedHat7.2 客户端(vm1.macro.com)节点上操作是正常,但是在RedHat6.6 客户端(rhel66001.localdomain)节点上出现如下问题。

解决办法:

在hadoop客户端的启动脚本上指定Kerberos的配置文件路径,在HADOOP_CLIENT_OPTS 添加配置-Djava.security.krb5.conf=$KRB5_CONFIG

export HADOOP_CLIENT_OPTS="-Djava.net.preferIPv4Stack=true -Djava.security.krb5.conf=$KRB5_CONFIG $HADOOP_CLIENT_OPTS"

2.然后再进行校验,发现可以正常启动

5

问题描述与解决

1.core-site.xml 文件找不到的异常

该问题是由于在CDH中hadoop的客户端配置默认是在/etc/hadoop目录下,确认软链无误,并且配置正确

2.时钟不同步异常

该异常是由于客户端节点与集群内节点时钟不同步,导致Kerberos认证不通过,同步时钟即可解决

提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值