TDC的pod内使用tdc-client

  其他常见问题
内容纲要

概要描述

在TDC使用大数据时,有需要在容器内使用hdfs/sqoop/hbase的场景,但是容器内可能没有集成相关大数据环境变量和相关jar包,此时可以将tdc-client放到容器内集成使用
本文描述具体的集成方法

详细描述

实验背景

本文以TDC3.2.0 TDS3.2.0 为例,描述如何在TDS环境内部署调用hdfs,sqoop等相关命令

准备tdc-client安装包

tdc-client下载
下载上传到集群服务器上 进行解压

tar -zxvf tdc-client.tar.gz

获取实例的相应配置

file

cd tdc-client/scripts
bash get_tdc_tenant_tdh_conf.sh  --tenant_name fzd --cluster_name clus-1 --terminal_pod terminal-k256g-0 --tdc_tdh_version transwarp-9.0.0-final

file
将文件copy到上级目录

cp -r conf ../

TDC上下载相应的keytab并进行放置

由于tdc上大数据大都开启安全,故需要准备keytab文件进行认证。进入租户内的guardian,下载拥有hdfs权限的keytab放到上一步中生成的目录
file
file

cp /root/hdfs.keytab /root/tdc-client/conf/tdc/tdc-master-172.22.28.21/fzd/clus-1/

准备好jdk1.7环境变量(不需要sqoop或者对接tdh9,可以省略jdk步骤)

sqoop只能在jdk1.7版本内执行,故需要准备jdk1.7环境(可以从hdfs的pod内获取)
file

缩容tdc-client镜像包

如果只对接tdh9.x的版本,那么只需要保留9.x的相关jar包,删除tdc-client中自带的其他版本依赖包,减小重新持久化进行的大小

cd tdc-client/tdhpackage
rm -rf transwarp-6.2.0-final/ transwarp-7.0.0-final/ transwarp-8.0.1-final/

file

将tdc-client文件和jdk(TDH9以下且需要sqoop的话)目录上传至workflow-executor的pod的root目录

kubectl cp jdk1.7.0_71/ workflow-executor-bj766-0:/root/jdk1.7.0_71 -n fzd
kubectl cp tdc-client workflow-executor-bj766-0:/root/tdc-client -n fzd

pod内执行tdc-client渲染配置文件获取执行地址

cd tdc-clent
./tdc_client init_tdc #加载配置
./tdc_client workon #执行加载获取执行目录

file
file

pod 内测试hdfs命令操作成功

file

TDS页面测试sqoop任务(可选)

设置TDS调用的脚本如下:

#!/bin/bash

set -ex
#设置运行jdk(对接TDH9以下需要设置)
export JAVA_HOME=/root/jdk1.7.0_71
#执行tdc-client的环境变量加载
/root/tdc-client/tdc_client init_tdc
cd /root/tdc-client/scripts/../.env/fzd_clus-1
source ./env
#安全认证
kinit -kt /root/tdc-client/scripts/../.env/fzd_clus-1/hdfs.keytab  hdfs@FZD.TDH
#执行sqoop
sqoop import \
--connect jdbc:mysql://172.22.23.2:3316/shufeng \
--username root \
--password 743174389 \
--table t_lsb \
--m 1 \
--delete-target-dir \
--target-dir /tmp/mysqlsqoop \
--fields-terminated-by '\t' \
--lines-terminated-by '\n'

file

file

镜像持久化

file
去22节点找到对应的container

docker ps | grep workflow-exe

file

docker commit 1fb8866d1971 172.22.28.21:5000/transwarp/workflow-executor:studio-3.2.0-final
docker push 172.22.28.21:5000/transwarp/workflow-executor:studio-3.2.0-final

重启workflow服务,再进行测试

file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。