Kerberos CDH集群不同OS版本配置HDFS的Gateway节点
本帖最后由 levycui 于 2018-11-13 22:40 编辑问题导读:
1、如何进行时钟同步?
2、如何安装Kerberos客户端?
3、Kerberos如何进行客户端功能验证?
4、如何处理RedHat6.6 客户端异常问题?
关注最新经典文章,欢迎关注公众号
http://www.aboutyun.com/data/attachment/forum/201406/15/084659qcxzzg8n59b6zejp.jpg
一、文章编写目的
在前面的文章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
二、环境说明
vm1.macro.com和rhel66001.localdomain两个节点并未在CM管理的集群内
三、部署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)
# scp -rp /etc/hosts 192.168.0.230:/etc/
# scp -rp /etc/hosts 192.168.0.187:/etc/
3.集群启用了Kerberos,所以需要在(vm1.macro.com和rhel66001.localdomain)节点安装Kerberos客户端,执行如下命令,两个Gateway节点操作一致
# 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)节点配置环境变量
# 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
# source cdh_env
# env
这里配置的是会话级别的环境变量,结束会话后需要重新source cde_env,如果需要永久生效,将该配置写入到/etc/profile,并source /etc/profile 即可。
四、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.然后再进行校验,发现可以正常启动
五、问题描述与解决
1.core-site.xml 文件找不到的异常
该问题是由于在CDH中hadoop的客户端配置默认是在/etc/hadoop目录下,确认软链无误,并且配置正确
2.时钟不同步异常
该异常是由于客户端节点与集群内节点时钟不同步,导致Kerberos认证不通过,同步时钟即可解决
作者:Fayson Hadoop实操
来源:Fayson Hadoop实操
收藏收藏 来学习了
页:
[1]