概要描述
-TDH集群中经常会使用到TDH-Client包中的各种工具,比如beeline、hdfs等命令,本文介绍其下载生成的过程。
tdh-client生成原理
下载TDH-client的时候,manager节点的/var/lib/transwarp-manager/master/content/resources/tdh_client/这个目录会被打包成tdh-client.tar压缩包下载
这个目录的来源是:
在6.X中,在产品包内比如TDH-Image-Registry-Transwarp-6.2.0-final.tar.gz,这些产品包解压会得到一个tdh_client文件夹、上传过程中会拷贝到/var/lib/transwarp-manager/master/content/resources/tdh_client/
在5.X中,则不是在产品包中,而是在TDH-Basic-Component-Transwarp-5.2.4-final.tar.gz等包内会有这个tdh_client文件夹。
其中的/var/lib/transwarp-manager/master/content/resources/tdh_client/conf则是在下载TDH-client过程中生成的,目录大致是这样:
首先,在/etc/transwarp-manager/master/application.conf中有配置
其中conf-link的含义是:
比如hadoop = [yarn, hdfs, argodbcomputing]这一行:含义是如果有yarn/hdfs/argodbcomputing这些服务,那么就把/etc/yarn1/conf/下的所有内容都复制到当前目录,不管有yarn1/yarn2/yarn3……都是,对hdfs也是一样;
然后创建一个叫hadoop的软连接到其中的第一个参数上,比如这一句结果就是:
PS:如果一个集群没有下载过tdh-client.tar客户端,那么是没有conf目录以及hosts文件的
常见问题
问题一,下载的TDH-Client包解压之后发现内容有缺失
manager节点 /var/lib/transwarp-manager/master/content/resources/tdh_client/这个目录会被打包成tdh-client.tar压缩包下载,但是上传不同的产品包的时候会对该目录做覆盖。
比如先上传的TDH产品包 然后上传的SOPHON产品包,而两个产品包中的tdh_client不一样,后者的tdh_client覆盖了前者的,此时下载得到的tdh-client包就可能有问题。
解决方案:可以再上传一次TDH产品包,然后和sophon确认一下他们产品包中的tdh_client是否有缺失。
或者 : 同版本的TDH 除了conf和hosts 其他的都复制过去,然后重新生成一下配置 就可以了
问题二,使用TDH-Client中的keytab认识失败
如果修改过guardian中的相关配置,是不会自动同步到TDH-Client中的keytab的,此时需要重新下载一次TDH-Client。